首页 > php开发 > php去掉变量空格的程序代码

php去掉变量空格的程序代码

清除变量中字符中的空格我们有几种方法,因为很多时候我们使用trim是无法删除了,下面整理了几个方法,大家可参考一下。

在PHP里,我们要清除变量当中的空格,先来看下面的这一种方法:

$arr = explode(" ",$a);
foreach ($arr as $value)
{
    $result.=$value;
}
echo "去除空白后:".$result;

另外还有一种方法如下:

$str=str_replace(" ","",$str);
$str=str_replace(chr(32),"",$str)

上面的方法只能处理英文空格的情况.

下面的方法可以处理中文只的空格,不过有个情况是如果页面指定了编码的话会出现乱码

$str=str_replace(chr(32),"",$str);
$str=str_replace(chr(161),"",$str);

对于页面为UTF-8是,中文空格提交后变成了chr(227),原应为chr(161)

后面测试了使用trim(), ltrim(), rtrim()函数也可以达到我们要的效果

下面将介绍trim()系统函数的语法和使用:

string trim(string $str [, string $charlist])

trim()函数对输入的字符串进行去除开始位置和结束位置的空格(其实不只是空格)。

如果不设置第二个参数,trim()函数将会去除以下字符:

" " : 空格;

"\t": 制表符;

"\n": 换行符;

"\r": 回车符;

"\0": 空字符;

"\x0B": 垂直制表符;

如果设置第二个参数,trim()函数将只去除第二个参数中的字符集,而不会再去除上面默认的字符集。

<?php
$str = "  hello world   ";
$str_trim = trim($str);
echo "$str<br />$str_trim";
?>

看一下输出结果:

hello world hello world

怎么是一样的呢?第一行的空格怎么不见了。呵呵。我们在看一下网页的HTML代码吧:

hello world hello world

空格出现了吧!空格不见是因为浏览器显示时自动进行不显示多除的空格。

<?php
$str = "Left hello world Right ";
$str_trim = trim($str,"eftL");
echo "$str<br />$str_trim";
?>

输出结果为:

Left hello world Right hello world Right

我们将左则和eftL字符相关的都去除了,你可能注意到了,右侧的Right中的"t"也在第二个参数中,为什么没去除。仔细看一下$str最后一个字符,其实是空格。因为空格(最右侧)没有去除(在HTML中能看见),所以"t"(右侧倒数第二)将不会处理。这同时说明函数第二个参数会覆盖trim()的默认字符集。

最后说一下ltrim()和rtrim()函数:

ltrim()函数只处理字符串的左侧;

rtrim()函数只处理字符串的右侧;

通过正则表达式替换,功能更强

php去除字符串首尾空格(包括全角)

<?php
$str="      http://www.phprm.com     "; 
$str = mb_ereg_replace('^( | )+', '', $str); 
$str = mb_ereg_replace('( | )+$', '', $str); 
echo mb_ereg_replace('  ', "\n  ", $str); 
?>


教程链接:http://www.phprm.com/develop/64721.html

随意转载~但请保留教程地址★

标签:foreach 正则表达式 explode

相关文章

发表留言