Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #4668

URL aus Benutzereingabe erzeugen

Path csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From Daniel Walz <daniel.walz@gmx.de>
Newsgroups de.comp.lang.php
Subject URL aus Benutzereingabe erzeugen
Date Tue, 2 Feb 2021 17:32:23 +0100
Lines 38
Message-ID <i7td4nF7nloU1@mid.individual.net> (permalink)
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace individual.net Ur5QQTc+SSwuA4dGDebIAg6F7830L5Hb+HAs+a1UxGgHe1AuBg
Cancel-Lock sha1:MdAk+JsVnHywYEXBniE4Pezc4xM=
X-Mozilla-News-Host news://News.individual.DE:119
User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0
Xref csiph.com de.comp.lang.php:4668

Show key headers only | View raw


Hallo,

ich programmiere derzeit meine zimelich in die Jahre gekommene Seite
www.drarbeit.de neu.

Zukünftig soll der Titel der Stellenangebote Teil der URL sein. Dazu
muss ich ihn natürlich anpassen. Leider habe ich keine entsprechende
Funktion gefunden, die ich als Vorbild hätte nehmen können, und mir
jetzt auf die schnelle folgende gebastelt:

function makeURL(string $s): string
{
    // alles in Kleinbuchstaben
    $url = mb_strtolower($s);
    // Umlaute und ß ersetzen
    $url = str_replace(['ä', 'ö', 'ü', 'ß'], ['ae', 'oe',
    'ue', 'ss'], $url);
    // Sonderzeichen ersetzen durch Minus
    $url = preg_replace("/[^a-z0-9]/", "-", $url);
    // mehrfache Minus ersetzen
    $url = preg_replace("/-+/", "-", $url);
    // Minus am Anfang und Ende ersetzen
    $url = trim($url, '-');
    return $url;
}

Das funktioniert auch soweit, ich habe es mit realen Eingaben hier mal
getestet:

https://www.yourmed.de/test.php

Was mich sehr irritiert ist, dass nach dem ersten preg-replace jetzt
alle " durch "quot" und & durch "amp" ersetzt sind anstatt durch ein
einfaches Minus. Wie kommt das zustande und wie kann ich es ändern?

Gruß

Daniel

Back to de.comp.lang.php | Previous | NextNext in thread | Find similar | Unroll thread


Thread

URL aus Benutzereingabe erzeugen Daniel Walz <daniel.walz@gmx.de> - 2021-02-02 17:32 +0100
  Re: URL aus Benutzereingabe erzeugen Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-02-02 18:58 +0000
    Re: URL aus Benutzereingabe erzeugen Daniel Walz <daniel.walz@gmx.de> - 2021-02-03 09:30 +0100

csiph-web