在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r。因此unix系列用 /n,windows系列用 /r/n,mac用 /r,这样就用你写的程序在不同的平台上运行有着不少的麻烦。下面是php去除换行符的一些常见方法。
第一种写法:
代码如下 复制代码
$content=str_replace(n,,$content);
echo $content;
第二种写法:
代码如下 复制代码
str_replace(rn,,$str);
第三种写法:
代码如下 复制代码
$content=preg_replace(/s/,,$content);
echo $content;
关于n,r,t
n 软回车: 在windows 中表示换行且回到下一行的最开始位置 ,在linux、unix 中只表示换行,但不会回到下一行的开始位置。
r 软空格: 在linux、unix 中表示返回到当行的最开始位置。 在mac os 中表示换行且返回到下一行的最开始位置,相当于windows 里的 n 的效果。
t 跳格(移至下一列)
在网站看到很多方法.结果都不不能用.一般是n这个符号换不掉,如果n符号清空了,还是会换行,一般是源码代码中有br标签,可以直接替换掉.
代码如下 复制代码
function deletehtml($str)
{
$str = str_replace(
,,$str);
$str = str_replace(\t,,$str);
$str = str_replace(\r\n,,$str);
$str = str_replace(\r,,$str);
$str = str_replace(\n,,$str);
return trim($str);
}
注意,n前面的转义符号.
过滤html与换行实例
代码如下 复制代码
'si, // 去掉 html 标记
'([rn])[s]+', // 去掉空白字符
'&(quot|#34);'i, // 替换 html 实体
'&(amp|#38);'i,
'&(lt|#60);'i,
'&(gt|#62);'i,
'&(nbsp|#160);'i,
'&(iexcl|#161);'i,
'&(cent|#162);'i,
'&(pound|#163);'i,
'&(copy|#169);'i,
'(d+);'e); // 作为 php 代码运行
$replace = array (,,\1,,&,, ,chr(161),chr(162),chr(163),chr(169),chr(\1));
$text = preg_replace($search,$replace,$document);
?>