dfaamp;&dasdamp;&f#@#;419 <br amp;nbsp;33.88 ㎡ <br>状态:& %@%amp;&案发地十分大方怎样写这个正则表达式?上面的内容有多个;我想用preg_match_all来取出#@#和%@%中间的内容。

解决方案 »

  1.   

    $s = 'dfaamp;&dasdamp;&f#@#;419 <br amp;nbsp;33.88 ㎡ <br>状态:& %@%amp;&案发地十分大方';preg_match_all('/#@#(.+?)%@%/', $s, $r);
    print_r($r[1]);Array
    (
        [0] => ;419 <br amp;nbsp;33.88 ㎡ <br>状态:& 
    )
      

  2.   


    $sString = "
    dfaamp;&dasdamp;&f#@#;419 <br amp;nbsp;33.88 ㎡ <br>
    状态:& %@%amp;&案发地十分大方
    ";
    preg_match_all("/#@#(.*?)%@%/is", $sString, $aMatch);
    print_r($aMatch[1]);
      

  3.   

    $str="dfaamp;&dasdamp;&f#@#;419 <br amp;nbsp;33.88 ㎡ <br>状态:& %@%amp;&案发地十分大方";preg_match_all("/\#\@\#(.*?)\%\@\%/i", $str, $b);
        print_r($b[0]);
    我没测试,你不对的你做一下小的修改,能解决的话别忘了给分哦。