字符串:
a.b.c=>需要截取b.c
a.b.c.d=>需要截取b.c.d就这两种情况,有什么比较好的方法?

解决方案 »

  1.   

    function mysubstr($str) {
       return substr($str, stripos($str, '.') + 1);
    }echo mysubstr('a.b.c');
    echo mysubstr('a.b.c.d');
      

  2.   

    //再来一个
    function mysubstr($str) {
       $ar = explode('.', $str);
       array_shift($ar);
       return implode('.', $ar);
    }echo mysubstr('a.b.c');
    echo mysubstr('a.b.c.d');
      

  3.   

    function mysubstr($str) {
       $ar = explode('.', $str);
       if (count($ar) > 4) $ar = array_slice($ar, -3);
       else array_shift($ar);
       return implode('.', $ar);
    }echo mysubstr('a.b.c');
    echo mysubstr('a.b.c.d');
    echo mysubstr('a.b.c.d.e.f');
      

  4.   

    官方都有现成的函数了。楼上几位居然还自己写自定义的函数。累不累呢?而且,效率还无PHP内置的函数高。<?php
    $rest = substr("abcdef", -1);    // returns "f"
    $rest = substr("abcdef", -2);    // returns "ef"
    $rest = substr("abcdef", -3, 1); // returns "d"
    ?> 
    $rest = substr("abcdef", 0, -1);  // returns "abcde"
    $rest = substr("abcdef", 2, -1);  // returns "cde"
    $rest = substr("abcdef", 4, -4);  // returns ""
    $rest = substr("abcdef", -3, -1); // returns "de"
    echo substr('abcdef', 1);     // bcdef
    echo substr('abcdef', 1, 3);  // bcd
    echo substr('abcdef', 0, 4);  // abcd
    echo substr('abcdef', 0, 8);  // abcdef
    echo substr('abcdef', -1, 1); // f// Accessing single characters in a string
    // can also be achieved using "square brackets"
    $string = 'abcdef';
    echo $string[0];                 // a
    echo $string[3];                 // d
    echo $string[strlen($string)-1]; // f
    http://www.phpcxz.com/a/web/ 专门讲PHP web wap 开发方面资料的。
      

  5.   

    $newstr=substr($str, stripos($str, '.') + 1);如果你的字符串格式都是w.x.y.z或者x.y.z
    那就干脆substr($str, 2);
      

  6.   


    $string = 'a.b.c.d.e.f.s';
    print_r(array_slice(explode('.', $string),1,3));
    /*
    输出结果:
    Array ( [0] => b [1] => c [2] => d ) 
    */