曲径通幽论坛

标题: trim() -- 去除字串首尾的空白或其它字符 [打印本页]

作者: beyes    时间: 2012-6-27 14:09
标题: trim() -- 去除字串首尾的空白或其它字符
trim() 函数可以去掉给定字符串中头尾的空白符(中间的不去除)或其它字符,这些空白符包括:
1. 空格符 : " " (ASCII 32 (0x20)
2. 水平制表符 : "\t" (ASCII 9 (0x09))
3. 换行符 : "\n" (ASCII 10 (0x0A))
4. 回车符 : "\r" (ASCII 13 (0x0D))
5. 空字符 : "\0" (ASCII 0 (0x00))
6. 垂直制表符 : \0x0B (ASCII 11 (0x0B))
函数语法如下:
[Plain Text] 纯文本查看 复制代码
string trim ( string $str [, string $charlist ] )

其中 $str 是要进行处理的字符串。


测试代码:

[PHP] 纯文本查看 复制代码
<?php
        $text = "\t\thello\t";
        echo $text;
        print "
";
        echo trim($text, "\t");
        print "
";
        print "--------------
";
        $text = "
linux
";
        echo $text;
        echo trim($text, "
");
        print "
";
        print "--------------
";
        $text = "\x0Bworld";
        echo $text;
        echo $text;
        echo $text;
        echo $text;
        print "
";
        echo trim($text, "\x0B");
        print "
";
        print "--------------
";
?>

运行输出:
[attach]660[/attach]

如果去掉其它字符,那么可以在第 2 个参数里指定这些要去除字符的列表,该列表的各个字符连续书写,不需要用什么符号分隔开来。注意,这也只能是去除字符串首尾的字符,而不能去除中间的字符,如下所示:
[PHP] 纯文本查看 复制代码
<?php
    function _formatDir($dir) {
        $dir = trim($dir);
        if ($dir)
            $dir = trim($dir, "\\/><").'/';

        return $dir;
    }
    $mydir = '><home\><wwwroot/    ';
   
    echo $mydir;
    print "\n";

    echo _formatDir($mydir);
    print "\n";
?>

运行输出:
$ php trim.php
><home\><wwwroot/   
home\><wwwroot/





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2