Maison  >  Article  >  développement back-end  >  Plusieurs façons de remplacer les sauts de ligne en php

Plusieurs façons de remplacer les sauts de ligne en php

怪我咯
怪我咯original
2017-07-12 14:55:182322parcourir

Le caractère de nouvelle ligne est une expression de langage informatique qui passe à la nouvelle ligne suivante. Dans différentes langues, le code est également différent. Par exemple : 0c6dc11e160d3b678d68754cc175188a, "n", "endl", etc. Cet article présente principalement plusieurs méthodes de remplacement des sauts de ligne en PHP

La première :

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

Remarque : lors de l'affichage sur la première page, utilisez nl2brFaire en sorte que les sauts de ligne deviennent 0c6dc11e160d3b678d68754cc175188a

Le deuxième exemple :

J'ai trouvé une chose intéressante :

$text=" aaaa

ccc";

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

Normalement, le code ci-dessus devrait pouvoir remplacer le caractère de nouvelle ligne

Mais en fait, c'est pas possible !

Je suis très déprimé. J’ai essayé plusieurs fois mais ça ne marche pas.

Je l'ai finalement changé en ceci :

Le code est le suivant :

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

Tout va bien~~, il s'est avéré que c'était un problème de guillemets doubles et guillemets simples ! !

Les guillemets doubles sont moins efficaces que les guillemets simples, car lorsque les guillemets doubles sont analysés par PHP, ils jugeront également s'ils contiennent des variables, mais les guillemets simples ne porteront pas ce jugement, donc généralement En parlant, il n'y a pas de guillemets simples. Chaque fois que des variables sont impliquées, je ne m'attendais pas à ce que le remplacement du caractère de nouvelle ligne cette fois ne fonctionne pas avec des guillemets simples...

Finalement, je l'ai écrit en un seul. phrase

Le code est le suivant :

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

Cela remplacera le caractère de nouvelle ligne !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn