帖子里代码是这样的:[attachimg]18078[/attachimg]需要把上面的代码都替换掉不显示,之间的数字也不要显示<?=esub(strip_tags(preg_replace( "/\\\\[[\\\\/\\\\w].*?\\\\]/ ", ' ',$bqr[smalltxt])),58);?>在这行代码上修改,上面这个代码数字过滤不掉,求高手帮忙 ,谢谢,,

解决方案 »

  1.   

    <?=esub(strip_tags(preg_replace( "#\[(\w+)\].+\[/\\1\]#", ' ',$bqr[smalltxt])),58);?>
      

  2.   


    过滤不掉UBB代码也过滤不了了,
      

  3.   

    $str = "[attachimg]18078[/attachimg]";
    $pattern = "/\[[a-z]+\]\d+\[\/[a-z]+\]/isU";
    echo preg_replace($pattern, '', $str);
      

  4.   


    <?=esub(strip_tags(preg_replace("/\[[a-z]+\]\d+\[\/[a-z]+\]/isU",'',$bqr[smalltxt])),58);?> 
      

  5.   

    报错了。。
        Warning: preg_replace() [function.preg-replace]: Unknown modifier '[' i
      

  6.   

    <?=esub(strip_tags(preg_replace(   "/\[\w+\]\d+\[\/\w+\]/",   '   ',$bqr[smalltxt])),58);?> 
      

  7.   


    还是报错Warning: preg_replace() [function.preg-replace]: Unknown modifier 'w' in 
      

  8.   

    <?=esub(strip_tags(preg_replace(       "/\[.+\]\d+\[\/.+\]/",       '       ',$bqr[smalltxt])),58);?> 不要告诉我现在是  Unknown   modifier   '. '  或 'd ' 
      

  9.   

    <?=esub(strip_tags(preg_replace("/\\\\[[\\\\/\\\\w].*?\\\\]/",'',$bqr[smalltxt])),58);?>我要想的就是用这个代码修改,过滤掉DZ帖内[attachimg]18078[/attachimg]  之间的数字, 
      

  10.   

    报错结果:
        Warning: preg_replace() [function.preg-replace]: Unknown modifier '.' in 
      

  11.   

    <?=esub(strip_tags(preg_replace( "/\\\\[[\\\\/\\\\w].*?\\\\]/ ", ' ',$bqr[smalltxt])),58);?>我要想的就是用这个代码修改,过滤掉DZ帖内[attachimg]18078[/attachimg]     之间的数字和UBB代码,  
      

  12.   

    楼上有的问题是因为""之下没有考虑php+pcre双重转义:<?php
    $str = "[attachimg]18078[/attachimg]";
    $result = preg_replace('/\[\w+\].*\[\/\w+\]/s', '', $str);
    echo $result;
    ?>
      

  13.   

    '/\[(.*)\](.*)\[\/(.*)\]/g','$1$2$3',$str