Frage

Ich bin Einfügen von Alias-Feld für meine db $ alias genannt wie kann ich Code (ich bin mit PHP für MySQL-Einsatz) um alle Leerzeichen zu entfernen und ersetzen Raum mit „-“ (versuchen, es zu ändern „WebUrl Format“, das heißt das Entfernen Leerzeichen)

Danke

War es hilfreich?

Lösung

Hier ist die Methode, die ich für SEF Urls santize Strings verwenden:

    $slug = trim(strtolower($value));
    $slug = preg_replace('/[^a-z0-9 _-]/', '', $slug);
    return preg_replace('/\s+/', '-', $slug);

Sie können ferner zusätzliche erlaubte Zeichen zum ersten regulären Ausdruck hinzuzufügen.

Bitte beachten Sie, dass dies nicht Unicode ist oder sogar vollständig ISO-8891 sicher, gut, es ist, aber es werde alles fallen lassen, die nicht a-z ist. Das heißt, dass Sie die Zeichenfolge im Voraus normalisieren müssen (dh akzentuierte Zeichen ersetzen mit ihren schließt ASCII-Äquivalent.) Es gibt eine Reihe von SO Fragen und Antworten Umgang mit diesem, die ich vorher gesehen habe, aber ich kann sie nicht finden auf der Moment. Ich werde sie hier bearbeiten, wenn ich auf jeder stolpern.

Andere Tipps

Für nur Leerzeichen zu entfernen, möchten Sie die str_replace Methode . Wenn jedoch mit URLs arbeiten, können Sie die urlencode berücksichtigen und rawurlencode Methoden als auch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top