您的位置:首页 > 编程语言 > PHP开发

PHP删除字符串中的空格和换行符终极方法

2016-03-21 10:02 936 查看



问说网
>
文章教程 >
编程设计 > PHP删除字符串中的空格和换行符终极方法

字符串换行符文件编码网页编码隐藏字符

PHP删除字符串中的空格和换行符终极方法

问说网•2015-04-03 23:38:42
•1640 浏览




文章目录

什么是空格?
什么是换行?
HTML
PHP
删除方法
显示隐藏字符

有时我们生成的代码中,或多或少会遇到代码中或者字符串中有多余的空格、换行等其他字符,但是这些字符在浏览器里面是不显示出来,任何的换行和再多的空格,都只显示一个空格的空间,这势必对网页的优化有这极其不好的影响,所以今天给大家分享几个PHP删除字符串中的空格和换行符方法。

什么是空格?





空格就是一个什么都没有的字符,比较特殊,所以当你在网站里填写表格的时候,可以什么都不写,但是不要在空白项里按空格键,当你在搜索引擎搜索时,若忘了其中某个字,可用空格临时替代。

什么是换行?

换行顾名思义就是另外起一行书写文字,在不同的语言和软件都各有不同的表示方法。

HTML

HTML中的换行是
<br />
,可插入一个简单的换行符,标签是空标签(意味着它没有结束标签,因此这是错误的:
<br></br>
)。在 XHTML 中,把结束标签放在开始标签中,也就是
<br />


请注意,
<br>
标签只是简单地开始新的一行,而当浏览器遇到
<p>
标签时,通常会在相邻的段落之间插入一些垂直的间距。

PHP

PHP中有
\r
\r\n
\t
等多个隐藏字符,我们一般在源代码里面都看不到这些字符,但是他们却真实的存在,下面我们来说说他们都有那些区别。

\n 软回车

在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的
\r
的效果。

在Linux、unix 中只表示换行,但不会回到下一行的开始位置。

\r 软空格:

在Linux、unix 中表示返回到当行的最开始位置。

在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的
\n
的效果。

\t 跳格(移至下一列)。

它们在双引号或定界符表示的字符串中有效,在单引号表示的字符串中无效。

\r\n 一般一起用,用来表示键盘上的回车键,也可只用 \n。

\t表示键盘上的“TAB”键。

就像你使用
enter
shift+enter
的区别,如果要显示在页面上的效果还要转化为 HTML 代码或用…

文件中的换行符号:

linux,unix:     \r\n
windows    :     \n
Mac OS   :   \r

对应:

\n LF或ASCII中的0x0A(10)
\r CR或ASCII中的0x0D(13)
\t 水平制表符-HT或ASCII中的0x09(9)
\\ 反斜杠
\$ 美圆符
\” 双引号

删除方法

在PHP中有多种方法可以删除这样烦人的隐藏字符,请看下面的介绍。

1、使用str_replace 来替换

$str = str_replace(array("\r\n", "\r", "\n"), "", $str);

2、使用正则替换

$str = preg_replace('//s*/', '', $str);

3、使用php定义好的变量 (建议使用)

$str = str_replace(PHP_EOL, '', $str);

当然我们可以把他定义成一个函数,然后一起替换,这样可以重复使用这个代码片段。

function trimall($str){
$qian=array(" "," ","\t","\n","\r");
return str_replace($qian, '', $str);
}

显示隐藏字符

我们不知道这个隐藏字符是什么,但是我们可以通过PHP的nl2br转为前台可显示的换行,然后对症下药,即可轻松解决换行和空格字符串问题。

$str = "a
b
e
f
c";
echo nl2br($str);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: