363 Stimmen

Neue Zeilen aus der Zeichenkette entfernen und durch ein Leerzeichen ersetzen

$string = "
put returns between paragraphs

for linebreak add 2 spaces at end

";

Ich möchte alle neuen Zeilen aus der Zeichenkette entfernen.

Ich habe diese Regex, es kann alle von ihnen zu fangen, das Problem ist, ich weiß nicht, mit welcher Funktion sollte ich es verwenden.

/\r\n|\r|\n/

$string werden sollte:

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

16voto

RobertPitt Punkte 55763

Sie sollten str_replace wegen seiner Geschwindigkeit und der Verwendung von doppelten Anführungszeichen mit einem Array verwenden

str_replace(array("\r\n","\r"),"",$string);

12voto

Anton Punkte 129

Escape-Sequenz \R entspricht einem generischen Zeilenumbruch

das heißt, alles, was als Zeilenumbruchsequenz von Unicode. Dazu gehören alle Zeichen, die von \v ( vertikale Leerzeichen ), und die Mehrzeichenfolge \x0D\x0A ...

$string = preg_replace('/\R+/', " ", $string);

Im 8-Bit-Nicht-UTF-8-Modus \R ist gleichbedeutend mit folgendem: (?>\r\n|\n|\x0b|\f|\r|\x85) ... pcre.org

Regex101 Demo

10voto

Zeilenumbrüche im Text werden im Allgemeinen als dargestellt:

\r\n - auf einem Windows-Computer

\r - auf einem Apple-Computer

\n - unter Linux

//Removes all 3 types of line breaks

$string = str_replace("\r", "", $string);

$string = str_replace("\n", "", $string);

7voto

n00dle Punkte 5782

PCRE Regex-Ersetzungen können mit preg_replace durchgeführt werden: http://php.net/manual/en/function.preg-replace.php

$new_string = preg_replace("/\r\n|\r|\n/", ' ', $old_string);

Ersetzt neue Zeilen- oder Return-Zeichen durch ein Leerzeichen. Wenn Sie nicht wollen, dass sie durch etwas ersetzt werden, ändern Sie das 2. '' .

5voto

netom Punkte 3252

Verwenden Sie dies:

eine Reihe von Zeilenumbrüchen durch eine leere Zeichenkette ersetzen:

$string = preg_replace("/[\\n\\r]+/", "", $string);

oder Sie wollen wahrscheinlich Zeilenumbrüche durch ein einzelnes Leerzeichen ersetzen:

$string = preg_replace("/[\\n\\r]+/", " ", $string);

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