文章教程

6.6删除字符串两侧的空白

9/17/2020 9:31:19 PM 人评论 次浏览

6.6 删除字符串两侧的空白

PHP程序有时需要去掉字符串中的空白字符,比如用户从网页提交数据时,在文本框中输入内容后,多敲入了一些空格,而PHP处理程序很可能会将这些数据存入数据库,这时,如果不希望将这些没有实际意义的空白字符存入数据库,就要将这些空白字符处理掉。

6.6.1 删除字符串末尾部分的空白字符

PHP提供了一些函数,分别可以处理字符串末尾、开头的空白字符,也提供了可以同时处理字符串两端的空白字符的函数。本节先介绍处理字符串末尾部分空白字符的内置函数。在PHP中,可以使用函数rtrim()删除字符串末尾部分的空白字符。该函数的语法如下。


string rtrim(string $str);

该函数会将字符串$str末尾部分的空白字符删除掉,返回末尾没有空白的字符串。代码6-10演示了该函数的用法。

代码6-10 使用函数rtrim()删除字符串末尾部分的空白字符6-10.php


     01 <?php
     02 $str = "
这个字符串后面带有空白字符    ";
     03 
     04 $clear = rtrim($str);                                   //
删除字符串末尾空白字符
     05 var_dump($str);                                         //
输出字符串
     06 
     07 echo "<br/>";
     08 echo "<br/>";
     09 var_dump($clear);                                       //
输出字符串
     10 ?>

【代码解析】代码第04行使用函数rtrim()将字符串$str末尾空白字符删除,最后将原字符串$str和删除了末尾空白的字符串输出。该程序输出变量的值使用的是函数var_dump(),函数var_dump()可以将一个或多个变量的形态和值输出,从代码6-10的执行效果图(见图6-10)可以看出使用函数var_dump()输出变量值的效果。

注意 从执行效果图可以看出,字符串$str在经过函数rtrim()处理后,其末尾部分的空白被删除了。

6.6.2 删除字符串开始部分的空白字符

和函数rtrim()对应的是函数ltrim(),该函数用于将字符串开始部分的空白字符删除掉。从这个函数的命名可以看出,ltrim()中的字母l代表的是left,一个字符串的left就是它的开始部分,所以,ltrim()表示去掉字符串开始部分的空白字符。同理,rtrim()中的首字母r表示right。这样,初学者就容易记住这两个函数及其用法了。函数ltrim()的语法如下。


string ltrim(string $str);

该函数将字符串$str开始部分的空白字符删除,返回开始部分没有空白的字符串。代码6-11演示了该函数的用法。

代码6-11 使用函数ltrim()删除字符串开始部分的空白字符6-11.php


     01 <?php
     02 $str = "    
这个字符串后最前面有空白字符";
     03 
     04 $clear = ltrim($str);                                   //
删除字符串开始的空白字符
     05 var_dump($str);
     06 
     07 echo "<br/>";
     08 echo "<br/>";
     09 var_dump($clear);                                       //
输出字符串
     10 ?>

【代码解析】这段程序的执行结果如图6-11所示。从执行效果图可以看出,字符串$str在经过函数ltrim()处理后,其开头部分的空白被删除。

读者也可以将变量$str的值前后都添加上空格,看执行函数ltrim()后的效果,看是不是只去掉前面的空格。

图6-10 使用rtrim()删除字符串末尾部分的空白字符

图6-11 使用ltrim()删除字符串开始部分的空白字符

6.6.3 删除字符串两头的空白字符

如果希望删除字符串两头的空白字符,可以使用函数trim(),该函数的语法如下。


string trim(string $str);

代码6-12演示了该函数的用法。

代码6-12 使用函数trim()删除字符串两头的空白字符6-12.php


     01 <?php
     02 $str = "   
使用函数trim
去掉字符串两端空白字符  ";
     03 
     04 $str1 = trim($str);                                     //
删除字符串两头的空白字符
     05 var_dump($str);
     06 
     07 echo "<br/>";
     08 echo "<br/>";
     09 var_dump($str1);                                        //
输出字符串
     10 ?>

【代码解析】 代码第02行的变量$str前后都有空格,第04行使用trim()函数来删除这些空格。这段代码的执行结果如图6-12所示。读者可以在变量$str的中间添加上空格,看使用trim()函数后是否能去掉这些空格。

注意 函数trim()只能去掉字符串两头的空白字符,不能去掉中间的空白字符。

事实上,函数rtrim()、ltrim()和trim()不仅可以用来删除字符串前后位置的空白字符,通过给它们指定第2个参数,还可以删除一些特定的字符。代码6-13演示了使用函数trim()删除字符串两端多余的#字符。

代码6-13 使用函数trim()删除字符串两端特定的字符6-13.php


     01 <?php
     02 $str = "##
使用函数trim
去掉字符串两端特定字符####";
     03 
     04 $str1 = trim($str,"#");   //
为函数trim()
传入第2
个参数,trim()
将删除字符串$str
两端的#
字符
     05 
     06 var_dump($str);
     07 echo "<br/>";
     08 var_dump($str1);
     09 ?>

【代码解析】代码第04行的函数trim()包含两个参数,第1个参数是要删除内容的字符串,第2个参数时指定字符串中要删除什么,默认删除空格,这里指定了要删除字符#。这段代码的执行结果如图6-13所示。

图6-12 使用trim()删除字符串两头的空白字符

图6-13 使用trim()删除字符串两端特定字符

函数rtrim()和ltrim()也有类似的用法,这里不再重复举例。

教程类别