Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entferne ich nicht-alphanumerische Zeichen und ersetze Leerzeichen durch Bindestriche in URLs?

Wie entferne ich nicht-alphanumerische Zeichen und ersetze Leerzeichen durch Bindestriche in URLs?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-24 02:53:29867Durchsuche

How to Strip Non-Alphanumeric Characters and Replace Spaces with Hyphens in URLs?

Nicht-alphanumerische Zeichen entfernen und Leerzeichen durch Bindestriche ersetzen

Beim Erstellen von URLs ist es notwendig, Titel, die verschiedene Zeichen enthalten, in saubere Zeichenfolgen umzuwandeln besteht ausschließlich aus Buchstaben und Zahlen. Dabei werden Sonderzeichen entfernt und Leerzeichen durch Bindestriche ersetzt.

Implementierung mit regulären Ausdrücken

Reguläre Ausdrücke (Regex) bieten eine effektive Lösung für diese Aufgabe. So erzielen Sie das gewünschte Ergebnis:

Schritt 1: Leerzeichen durch Bindestriche ersetzen

$string = str_replace(' ', '-', $string);

Schritt 2: Nicht-alphanumerische Zeichen entfernen

$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string);

Dieser Regex-Ausdruck entfernt alle Zeichen, die keine Buchstaben, Zahlen oder Bindestriche sind.

Verwendung:

echo clean('a|"bc!@£de^&$f g');

Ausgabe:

abcdef-g

Verhindern mehrerer aufeinanderfolgender Bindestriche

Um sicherzustellen, dass mehrere aufeinanderfolgende Bindestriche durch einen einzelnen Bindestrich ersetzt werden, verwenden Sie den folgenden zusätzlichen Schritt:

$string = preg_replace('/-+/', '-', $string);

Dieser Schritt ersetzt alle Vorkommen von zwei oder mehr aufeinanderfolgenden Bindestrichen durch einen einzelnen Bindestrich.

Das obige ist der detaillierte Inhalt vonWie entferne ich nicht-alphanumerische Zeichen und ersetze Leerzeichen durch Bindestriche in URLs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn