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:
, „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('//s*/', '', $str); //3、使用php定义好的变量 (建议使用) $str = str_replace(PHP_EOL, '', $str);
/* * 获得用户操作系统的换行符,\n * @access public * @return string */ function get_crlf() { if (stristr($_SERVER['HTTP_USER_AGENT'], 'Win')) { $the_crlf = '\r\n'; } elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'Mac')) { $the_crlf = '\r'; // for old MAC OS } else { $the_crlf = '\n';//权重大一点 } return $the_crlf; }
Hinweis: Verwenden Sie bei der Anzeige auf der Startseite nl2brZeilenumbrüche werden zu
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 = ''; $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!