ホームページ  >  記事  >  バックエンド開発  >  PHPで改行を置換するいくつかの方法

PHPで改行を置換するいくつかの方法

怪我咯
怪我咯オリジナル
2017-07-12 14:55:182336ブラウズ

改行文字は、次の改行にジャンプするコンピューター言語の表現です。言語が異なれば、コードも異なります。例: 0c6dc11e160d3b678d68754cc175188a、「n」、「endl」など。この記事では主に、PHP で改行を置換するいくつかの方法を紹介します

1 つ目:

<?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; 
}

注: フロントページが表示されているときに、nl2br を使用して改行を
にします

2 つ目説明の例:

が興味深いものを見つけました:

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

通常、上記のコードは改行文字を置換できるはずですが、実際にはそうではありませんできる!

何度も試しましたが、うまくいきませんでした。

最終的にこれに変更しました


コードは次のとおりです:

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

すべてOK~~、二重引用符と単一引用符の問題であることが判明しました! !

二重引用符は一重引用符よりも効率が低くなります。二重引用符が PHP によって解析されるときに、その中に変数があるかどうかも判断されますが、一重引用符はこの判断を行わないため、一般的に言えば、変数は私はあらゆる状況で一重引用符を使用していましたが、今回は改行文字の置換が機能しないとは予想していませんでした...

ついに文に書き込まれました

コードは次のとおりです:

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

このようにして改行文字を置換することができます!

以上がPHPで改行を置換するいくつかの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。