preg_match_all('/[attach](.*?)[/attach]/i', '[attach]1[/attach]大帅府[attach]2[/attach] 你的那份', $out);
print_r($out);
没测试!

解决方案 »

  1.   

    /[attach](.*?)[\/attach]/i 刚忘写转义了
      

  2.   


    preg_match_all('/\[attach\](.*?)\[\/attach\]/i', '[attach]1[/attach]大帅府[attach]2[/attach] 你的那份', $out);
    print_r($out);
    逼我给你测试!
      

  3.   

    $str = "内容[attach]1[/attach]大帅府[attach]2[/attach] 你的那份";
    preg_match_all('/\[attach](.*?)\[\/attach]/i',$str,$ret);
    print_r($ret[1]);
      

  4.   

    输出:
    Array ( [0] => 1 [1] => 2 ) 
      

  5.   

    可以参考:http://clqwtt.blog.163.com/blog/static/22351105520139155735792/也可以用php simple_html_dom实现,参考:http://clqwtt.blog.163.com/blog/static/223511055201391694845458/
      

  6.   

    preg_match_all('/\[attach]([^\[]*)\[\/attach]/isU',$str,$ret);