3 Stimmen

Entfernen des letzten Zeichens eines Strings WENN es sich um $variable handelt

Ich habe ein kleines Skript erstellt, um Titel in URL-freundliche Dinge umzuwandeln.

d.h.:

'Ich bin ein Titel'

wird zu

'Ich_bin_ein_Titel'

Mein Skript durchläuft im Grunde und wandelt Leerzeichen, Apostrophe, Kommas usw. in einen Unterstrich um.

Das Problem ist, manchmal enden meine URLs so:

'ich_bin_ein_Titel_'

mit einem abschließenden Unterstrich...

Also denke ich, füge ein wenig hinzu, um zu überprüfen, ob das letzte Zeichen im endgültigen Ergebnis ein Unterstrich ist, und wenn ja, dann tausche es aus.

Ich habe die Funktion strrchr() untersucht, aber ich scheine an meine eigenen Verständnisgrenzen zu stoßen.

Wie wird so etwas erreicht?

14voto

PleaseStand Punkte 30687

Die trim()-Funktion von PHP wird genau das tun, was du brauchst, auf beiden Seiten des Strings:

$slug = trim($slug, '_');

Du könntest dies sogar ausführen, bevor du Sonderzeichen in Unterstriche änderst, wenn du möchtest, da die Funktion das Entfernen mehrerer verschiedener Zeichen handhaben kann.

5voto

Sarfraz Punkte 366217

Sobald Sie Ihre Aufräumarbeiten durchgeführt haben, können Sie einfach diesen Code verwenden, um den nachgestellten Unterstrich zu entfernen:

$mystr = rtrim($text, '_');

3voto

Amber Punkte 473552
$ohne_start_oder_ende_unterstriche = trim($original, '_');

Wenn du nur die Endungen entfernen möchtest, verwende stattdessen rtrim().

1voto

Yzmir Ramirez Punkte 1271

Schau dir rtrim an.

1voto

Viktor Punkte 476

Etwas wie das,

YOUR_STRING=rtrim(YOUR_STRING,'_');

rtrim entfernt angegebene Zeichen vom Ende Ihres Strings. http://php.net/manual/en/function.trim.php

/Viktor

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X