Maison > développement back-end > Problème PHP > Comment remplacer les caractères de nouvelle ligne en php

Comment remplacer les caractères de nouvelle ligne en php

藏色散人
Libérer: 2023-03-03 10:36:01
original
3714 Les gens l'ont consulté

Comment remplacer les nouvelles lignes en php : 1. Utilisez la fonction "str_replace" fournie avec php pour remplacer les nouvelles lignes ; 2. Utilisez des expressions régulières pour remplacer les nouvelles lignes ; 3. Utilisez les variables définies par php pour implémenter des sauts de ligne de remplacement ; .

Comment remplacer les caractères de nouvelle ligne en php

Recommandé : "Tutoriel PHP"

PHP Remplacer le saut de ligne

Le premier type :

Le code est le suivant :

<?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);
Copier après la connexion

Le code est le suivant :

/*
* 获得用户操作系统的换行符,\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;
}
Copier après la connexion

Remarque : Lors de l'affichage du recto page, utilisez nl2br La nouvelle ligne devient

Le deuxième exemple :

J'ai trouvé une chose intéressante :

$text="aaaa
ccc";
$text=str_replace(&#39;\n‘,"",$text);
$text=str_replace(&#39;\r‘,"",$text);
$text=str_replace(&#39;\r\n‘,"",$text);
Copier après la connexion

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

Mais en fait ce n'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);
Copier après la connexion

Tout va bien~~, il s'est avéré que c'était un problème de guillemets doubles et de 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...

Enfin, j'ai écrit une phrase

Le code est le suivant :

$order = array("\r\n", "\n", "\r");
$replace = &#39;&#39;;
$text=str_replace($order, $replace, $text);
Copier après la connexion

Cela remplacera les nouvelles lignes !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal