12_asdf_电影_test_csdn
用php如何截取前面3个"_"的内容"12_asdf_电影",不要后面的"test_csdn"
用php如何实现,谢谢了!

解决方案 »

  1.   

    还个还需要先面或后面的判定。只有这样的话,条件不足。<?php
    $str=preg_match('/^([^_]+_[^_]+_[^_]+)_/',"12_asdf_电影_test_csdn",$str2);
    print($str2[1]);
    ?>
      

  2.   

    <?php
    $str="12_asdf_电影_test_csdn";
    $s=substr($str,0,strpos($str,'t'));
    print_r (explode("_",$s));
    ?>
     
    Array ( [0] => 12 [1] => asdf [2] => 电影 [3] => ) 
      

  3.   


    $str = "12_asdf_电影_test_csdn";
    preg_match_all("/^([^_]+)_([^_]+)_([^_]+)_/",$str,$match);print_r($match);
      

  4.   

    不用那么麻烦,如果你的字符串一定,可以使用substr函数,例如 echo substr('abcdef',"",2)显示ab。你这里数字可以取10就可以了