Ich habe eine MySQL-Datenbank, aus der ich eine Zeichenfolge extrahiere, die eine Liste von Wörtern ist, die durch Zeilenumbrüche getrennt sind. Jetzt möchte ich nur den abschließenden Zeilenumbruch entfernen.
Ich habe versucht, preg_replace as zu verwenden
$string = preg_replace('/\n/','',$string);
Es funktioniert, aber alle Zeilenumbrüche in den Zeichenfolgen werden entfernt 🙁
Wie kann ich das machen?
codaddict
Sie müssen den Zeilenendeanker hinzufügen:
$string = preg_replace('/\n$/','',$string);
Es ist besser zu vermeiden reguläre Ausdrücke für solch eine einfache Substitution. Das geht ganz einfach mit rtrim wie:
$string = rtrim($string);
rtrim ohne das zweite Argument werden die nachgestellten Leerzeichen entfernt, die Folgendes enthalten:
Neue Zeile
Platz
vertikale Registerkarte
horizontaler Reiter
Wagenrücklauf
Entfernt dies alle Leerzeichen oder dauert es nur?
– Kl
16. September 2015 um 18:09 Uhr
rtrim entfernt alle abschließenden Leerzeichen
– Javier S
24. Mai um 16:55 Uhr
Seelenverschmelzung
Verwenden Sie für solch eine triviale Aufgabe keine regulären Ausdrücke. Sie können PHP verwenden rtrim() (eventuell mit "\n" als zweiter Parameter) oder substr() (wie substr($string, 0, -1)) oder MySQL RTRIM().
Diese Antwort gefällt mir viel besser
– Cesar Bielich
18. September 2017 um 19:19 Uhr
rtrim(“\n”) hat bei mir nicht funktioniert. $string = preg_replace(‘/\n$/’,”,$string); hat prima funktioniert.
– smol
19. März 2021 um 5:05 Uhr
14339400cookie-checkEntfernen Sie den Zeilenumbruchyes