有以下代码:
$str = '123 This  is a test 123 ... ...';
echo trim($str, "A..Z 0..9 .").'<br />';
echo trim($str, ".");输出结果是:
his is a test
123 This is a test 123 ... 为什么第一个和第二个函数里都包含要去除的"."字符,但第一个函数将$str中最后两段...都给删除了,而第二个函数只是删除了一段呢?这个函数在删除指定字符串的时候是依照什么规则呢?

解决方案 »

  1.   

    1.去除大写字母、数字、空格和点
    2.仅去除点注意只应用于首尾,当遇到第一个不在范围内的字符就停止1.前面h为小写,不在该范围,后面t也一样
    2.前面1不是点,最后空格(注意最后echo的字符是个空格,而不是...)也不是点
      

  2.   

    楼上正解,其实你第一个.跟第二个.是不一样的,第一.前面多了个空格,如果你第二个点也加空格,
    如echo trim($str, " .");输出结果就也是:123 This is a test 123
      

  3.   

    可是第一个trim函数中A..Z前面也没有空格,但字符串This前有空格,为什么就能删除掉啊?