Home  >  Article  >  Backend Development  >  How to replace newline in php

How to replace newline in php

藏色散人
藏色散人Original
2020-11-04 11:02:103110browse

php换行替换的方法:1、使用str_replace来替换换行,语法如“str_replace(array("\\r\\n", "\\r", "\\n"), "", $str);”;2、使用正则表达式替换;3、使用php定义好的变量替换。

How to replace newline in php

推荐:《PHP视频教程

PHP中替换换行符的几种方法:

第一种:

代码如下:

<?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使换行变成0c6dc11e160d3b678d68754cc175188a

第二种实例说明:

发现一个有趣的事情:

$text="aaaa
ccc";
$text=str_replace(&#39;\\n‘,"",$text);
$text=str_replace(&#39;\\r‘,"",$text);
$text=str_replace(&#39;\\r\\n‘,"",$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);

这样即可替换换行符!

The above is the detailed content of How to replace newline in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn