php文件中有一变量:
$str='[size=5]二期的沙盘,以及2号楼[/size][size=4构成![/size]
[size=2]      博泰魏玛峰[/size]
[size=2][/size] 
[attach]8445[/attach]';现我想得到 此变量中的中文  二期的沙盘,以及2号楼 博泰魏玛峰 (其它的过滤掉),如何实现呀

解决方案 »

  1.   

    应该是用正则先匹配出各个节点来吧,再找出size=5 和2的。
      

  2.   


    $str='[size=5]二期的沙盘,以及2号楼[/size][size=4构成![/size]
    [size=2] 博泰魏玛峰[/size]
    [size=2][/size]  
    [attach]8445[/attach]';echo preg_replace('/\[.*?\]/', '', $str);
      

  3.   

    <?php
    $str='[size=5]二期的沙盘,以及2号楼[/size][size=4]构成![/size]
    [size=2] 博泰魏玛峰[/size]
    [size=2][/size]  
    [attach]8445[/attach]';preg_match_all('/\[size=5\]([^\[]*)\[\/size\]\[size=4\]([^\[]*)\[\/size\]/is', $str, $matches);
    echo $matches[1][0].$matches[2][0];
    ?>
      

  4.   


    preg_match_all('~\[size=\d+\]([^\[]*)\[\/size\]~is', $str, $matches);