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

解决方案 »

  1.   

    $s = 'a[attachimg]18078[/attachimg]b';
    echo preg_replace('#\[(\w+)\].+\[/\\1\]#', '', $s); //out ab
      

  2.   

    如果不要下面这一句代码,该怎么写呢,谢谢!
    $s = 'a[attachimg]18078[/attachimg]b';
    把代码全部写在下面这行代码里:
    preg_replace('#\[(\w+)\].+\[/\\1\]#', '', $s);
      

  3.   


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

  4.   

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