So ersetzen Sie Zeilenumbrüche regelmäßig in PHP: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Ersetzen Sie die Zeilenumbrüche durch „preg_replace('//s*/', '', $str);“.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
php Wie ersetzt man das Zeilenumbruchzeichen durch reguläre Ausdrücke?
Verwenden Sie die reguläre Ersetzung
Der Code lautet wie folgt:
$str = preg_replace('//s*/', '', $str);
Verwandte Einführung:
preg_replace
– Führen Sie eine Suche und Ersetzung mit regulären Ausdrücken durch
Anweisungen
preg_replace( string|array $pattern, string|array $replacement, string|array $subject, int $limit = -1, int &$count = null ): string|array|null
Suchen Sie nach dem Teilübereinstimmungsmuster im Betreff und ersetzen Sie es durch Ersatz.
Parameter:
Muster
Das zu suchende Muster. Kann eine Zeichenfolge oder ein Array von Zeichenfolgen sein.
Einige PCRE-Modifikatoren können verwendet werden.
Ersatz
Eine Zeichenfolge oder ein Array von Zeichenfolgen, die zum Ersetzen verwendet werden. Wenn dieses Argument eine Zeichenfolge und Muster ein Array ist, werden alle Muster durch diese Zeichenfolge ersetzt. Wenn Muster und Ersetzung beide Arrays sind, wird jedes Muster durch das entsprechende Ersetzungselement ersetzt. Wenn die Ersetzung weniger Elemente enthält als das Muster, werden die zusätzlichen Elemente im Muster durch die leere Zeichenfolge ersetzt.
replacement kann Rückverweise \n oder $n enthalten, wobei letzteres syntaktisch bevorzugt wird. Jeder dieser Verweise wird durch den Text ersetzt, der von der n-ten übereinstimmenden Erfassungsuntergruppe erfasst wurde. n kann 0-99 sein, \0 und $0 repräsentieren den vollständigen Mustervergleichstext. Die Methode zur Zählung der Seriennummern bei der Erfassung von Untergruppen lautet: Die linke Klammer, die die erfassende Untergruppe darstellt, wird von links nach rechts beginnend bei 1 gezählt. Wenn Sie Backslashes als Ersatz verwenden möchten, müssen Sie 4 ("\\" verwenden, Anmerkung des Übersetzers: Da dies zunächst eine PHP-Zeichenfolge ist, sind es nach dem Escape zwei, und dann wird es von der Engine für reguläre Ausdrücke als Original betrachtet Backslash).
Wenn Sie im Ersetzungsmodus arbeiten und auf den Rückverweis eine andere Zahl folgen muss (zum Beispiel: Hinzufügen einer ursprünglichen Zahl unmittelbar nach einem passenden Muster), können Sie die \1-Syntax nicht zum Beschreiben des Rückverweises verwenden. Beispielsweise führt \11 dazu, dass preg_replace() nicht erkennt, ob eine \1-Rückreferenz gefolgt von einer ursprünglichen 1 oder eine \11-Rückreferenz gefolgt von nichts gewünscht wird. Die Lösung besteht in diesem Fall darin, ${1}1 zu verwenden. Dadurch wird eine separate Rückreferenz für $1 erstellt, eine separate Rückreferenz für Quelle 1.
Bei Verwendung des veralteten e-Modifikators maskiert diese Funktion einige Zeichen (z. B. ', " und NULL) und führt dann eine Rückreferenzersetzung durch. Wenn dies erledigt ist, stellen Sie bitte sicher, dass nach dem Parsen keine durch Single verursachten Rückreferenzen vorhanden sind Anführungszeichen oder doppelte Anführungszeichen (zum Beispiel: 'strlen('$1')+strlen("$2")' Stellen Sie sicher, dass Sie die Zeichenfolgensyntax von PHP einhalten und die Auswertungssyntax einhalten, da die Engine dies nach Abschluss der Ersetzung tut. Werten Sie die resultierende Zeichenfolge mit der Methode „eval“ als PHP-Code aus und geben Sie den Wert als endgültige Zeichenfolge zurück, die an der Ersetzung beteiligt ist und Ersetzen werden für jedes Element des Subjekts durchgeführt, und der Rückgabewert ist ein Array
limit
Der Standardwert ist -1 (unbegrenzt) Wenn angegeben, wird es mit der Anzahl der abgeschlossenen Elemente gefüllt Ersetzungen
Empfohlenes Lernen: „
PHP-Video-Tutorial“
.Das obige ist der detaillierte Inhalt vonSo ersetzen Sie ein Zeilenumbruchzeichen in einem regulären PHP-Ausdruck. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!