Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man Newline-Stile in PHP effektiv ersetzen?

Wie kann man Newline-Stile in PHP effektiv ersetzen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-19 02:15:02133Durchsuche

How to Effectively Replace Newline Styles in PHP?

So ersetzen Sie Newline-Stile in PHP

In PHP kann der Umgang mit verschiedenen Newline-Stilen eine Herausforderung sein. Um alle Zeilenumbrüche ('rn', 'n', 'r') durch 'rn' zu ersetzen, können die folgenden Methoden verwendet werden:

preg_replace() mit R

Diese Methode verwendet einen regulären Ausdruck, um alle Unicode-Neuzeilensequenzen abzugleichen (unabhängig vom Betriebssystem):

$string = preg_replace('~\R~u', "\r\n", $string);

Wenn Sie nur CRLF abgleichen möchten Zeilenumbrüche:

$string = preg_replace('~(*BSR_ANYCRLF)\R~', "\r\n", $string);

Hinweis:

  • R stellt eine beliebige Unicode-Zeilenumbruchsequenz dar.
  • BSR_ANYCRLF beschränkt R so, dass es nur mit CR und LF übereinstimmt , oder CRLF.
  • u gibt an, dass die Eingabezeichenfolge behandelt werden soll als UTF-8.

PCRE-Optionen für R

PCRE bietet Optionen zum Anpassen des R-Verhaltens:

  • PCRE_BSR_ANYCRLF : Beschränkt R so, dass es nur mit CR, LF oder übereinstimmt CRLF.
  • PCRE_BSR_UNICODE: Ermöglicht R die Übereinstimmung mit jeder Unicode-Neuzeilensequenz.

Spezielle Mustersequenzen

Alternativ können Sie das R-Matching-Verhalten im Muster angeben selbst:

  • (*BSR_ANYCRLF): Passt nur auf CR, LF oder CRLF.
  • (*BSR_UNICODE): Passt auf jede Unicode-Neuzeilensequenz.

Beispiel:

$pattern = '(*BSR_ANYCRLF)\R';
preg_replace($pattern, "\r\n", $string);

Diese Sondersequenzen müssen am Anfang des Musters platziert werden in Großbuchstaben und kann die mit pcre_compile() festgelegten Optionen überschreiben.

Das obige ist der detaillierte Inhalt vonWie kann man Newline-Stile in PHP effektiv ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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