Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Zeilenumbrüche in einer Zeichenfolge durch einzelne Leerzeichen in PHP ersetzen?

Wie kann ich Zeilenumbrüche in einer Zeichenfolge durch einzelne Leerzeichen in PHP ersetzen?

Mary-Kate Olsen
Freigeben: 2024-12-08 07:43:12
Original
273 Leute haben es durchsucht

How Can I Replace Newlines in a String with Single Spaces in PHP?

Zeilenumbrüche eliminieren und durch ein einzelnes Leerzeichen ersetzen

So entfernen Sie alle Zeilenumbrüche aus einer Zeichenfolge und ersetzen sie durch ein einzelnes Leerzeichen der folgende Ansatz.

Verstehen der Problem

Sie haben eine Zeichenfolge mit Zeilenumbrüchen und möchten diese entfernen und stattdessen ein einzelnes Leerzeichen einfügen. Beispielsweise sollte die Zeichenfolge:

$string = "
put returns between paragraphs

for linebreak add 2 spaces at end

";
Nach dem Login kopieren

werden:

$string = "put returns between paragraphs for linebreak add 2 spaces at end ";
Nach dem Login kopieren

Lösung

Um dies zu erreichen, können Sie PHPs preg_replace( )-Funktion zusammen mit einem regulären Ausdruck, um die Zeilenumbrüche abzugleichen und zu ersetzen. Der folgende reguläre Ausdruck identifiziert alle Zeilenumbrüche, einschließlich Zeilenumbrüche (n), Wagenrückläufe (r) und doppelte Zeilenumbrüche („rn“):

/\r\n|\r|\n/
Nach dem Login kopieren

Es ist jedoch wichtig zu beachten, dass dieser Ansatz möglicherweise Ersetzen Sie mehrere aufeinanderfolgende Zeilenumbrüche durch mehrere Leerzeichen. Um dies zu vermeiden, verwenden Sie einen effizienteren regulären Ausdruck, der auch mehrere Leerzeichen abgleicht und diese durch ein einzelnes Leerzeichen ersetzt:

$string = trim(preg_replace('/\s\s+/', ' ', $string));
Nach dem Login kopieren

Mit diesem modifizierten regulären Ausdruck können sowohl einzelne als auch mehrere Zeilenumbrüche sowie mehrere Leerzeichen wird durch ein einzelnes Leerzeichen ersetzt.

Zusätzliche Überlegungen

Während die bereitgestellten Lösungen effektiv Zeilenumbrüche eliminieren und ein einzelnes einführen Wenn stattdessen Platz vorhanden ist, ist es erwähnenswert, dass die Situation komplexer werden kann, wenn mehrere aufeinanderfolgende Wörter beteiligt sind. Für solche Szenarien gibt es einen alternativen Ansatz, der nicht zu doppelten Leerzeichen führt:

$string = trim(preg_replace('/\s+/', ' ', $string));
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Zeilenumbrüche in einer Zeichenfolge durch einzelne Leerzeichen in PHP ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage