Heim  >  Artikel  >  Backend-Entwicklung  >  Mehrere Möglichkeiten, Zeilenumbrüche in PHP zu ersetzen

Mehrere Möglichkeiten, Zeilenumbrüche in PHP zu ersetzen

怪我咯
怪我咯Original
2017-07-12 14:55:182275Durchsuche

Das Zeilenumbruchzeichen ist ein Ausdruck in der Computersprache, der zur nächsten neuen Zeile springt. In verschiedenen Sprachen ist auch der Code unterschiedlich. Zum Beispiel: 0c6dc11e160d3b678d68754cc175188a, „n“, „endl“ usw. In diesem Artikel werden hauptsächlich verschiedene Methoden zum Ersetzen von Zeilenumbrüchen in PHP vorgestellt.

Die erste:

<?php 
?$str="this is a test \n"; 
$patten = array("\r\n", "\n", "\r"); 
?//先替换掉\r\n,然后是否存在\n,最后替换\r 
$str=str_replace($order, "", $str); 
?>
//php 有三种方法来解决 

//1、使用str_replace 来替换换行 
$str = str_replace(array("\r\n", "\r", "\n"), "", $str); 

//2、使用正则替换 
$str = preg_replace(&#39;//s*/&#39;, &#39;&#39;, $str); 

//3、使用php定义好的变量 (建议使用) 
$str = str_replace(PHP_EOL, &#39;&#39;, $str);
/* 
* 获得用户操作系统的换行符,\n 
* @access public 
* @return string 
*/ 
function get_crlf() 
{ 
if (stristr($_SERVER[&#39;HTTP_USER_AGENT&#39;], &#39;Win&#39;)) 
{ 
$the_crlf = &#39;\r\n&#39;; 
} 
elseif (stristr($_SERVER[&#39;HTTP_USER_AGENT&#39;], &#39;Mac&#39;)) 
{ 
$the_crlf = &#39;\r&#39;; // for old MAC OS 
} 
else 
{ 
$the_crlf = &#39;\n&#39;;//权重大一点 
} 
return $the_crlf; 
}

Hinweis: Verwenden Sie bei der Anzeige auf der Startseite nl2brZeilenumbrüche werden zu 0c6dc11e160d3b678d68754cc175188a

Das zweite Beispiel:

Ich habe etwas Interessantes gefunden:

$text=" aaaa

ccc";

$text=str_replace('n',"",$text);
$text=str_replace('r',"" ,$text) ;
$text=str_replace('rn',''$text);

Normalerweise sollte der obige Code in der Lage sein, das Zeilenumbruchzeichen zu ersetzen

Aber tatsächlich ist nicht möglich!

Ich bin sehr deprimiert. Ich habe es viele Male versucht, aber es funktioniert einfach nicht.

Endlich so geändert:

Der Code lautet wie folgt:

$text=str_replace("\n","",$text); 
$text=str_replace("\r","",$text); 
$text=str_replace("\r\n","",$text);

Alles ist in Ordnung~~, es stellt sich heraus, dass es ein Problem mit ist doppelte und einfache Anführungszeichen! !

Doppelte Anführungszeichen sind weniger effizient als einfache Anführungszeichen, denn wenn doppelte Anführungszeichen von PHP analysiert werden, beurteilen sie auch, ob Variablen darin enthalten sind, einfache Anführungszeichen treffen diese Beurteilung jedoch nicht, also im Allgemeinen Wenn es um Variablen geht, verwende ich immer einfache Anführungszeichen. Ich hatte nicht erwartet, dass das Ersetzen des Zeilenumbruchzeichens diesmal nicht durch einfache Anführungszeichen funktionieren würde ...

Schließlich habe ich es in einem geschrieben Satz

Der Code lautet wie folgt:

$order = array("\r\n", "\n", "\r"); 
$replace = &#39;&#39;; 
$text=str_replace($order, $replace, $text);

Dies ersetzt das Newline-Zeichen!

Das obige ist der detaillierte Inhalt vonMehrere Möglichkeiten, Zeilenumbrüche in PHP zu 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