本帖最后由 baiyuxiong 于 2011-01-06 16:08:21 编辑

解决方案 »

  1.   

    我这么写为什么不对呢?$pattern = "#[code=\"(.+?)\"](.*?)#";
    $replacement = "<pre name=\"code\" class=\"\\1\">\\2</pre>";
    $content =preg_replace($pattern,$replacement,$content);
    [/code]
      

  2.   

    上面的代码错了$pattern = "#[cod=\"(.+?)\"](.*?)[/cod]#";
    $replacement = "<pre name=\"code\" class=\"\\1\">\\2</pre>"; $content =preg_replace($pattern,$replacement,$content);
      

  3.   

    LZ结帖率:99.10%
    好吧!给你个正确的!
    echo(preg_replace("/\[cod=\"([^\"]+)\"\]([^\[]+)\[\/cod\]/","<pre name=\"code\" class=\"$1\">$2</pre>",$str));\//$str是你的整个字符串
    ------------------测试哥的签名--------------------------
    哥默默的低下头,不是哥修养好,而是哥在找砖头!
    --------------------------------------------------------
      

  4.   

    兄弟,不对啊$content = <<<TEST
    [cod="js"]<br />
    Array.prototype.each=function(callback)<br />
    {<br />
    &nbsp;for (i=0;i&amp;lt;this.length;i++)<br />
    &nbsp;{<br />
    &nbsp;&nbsp;&nbsp; callback.call(this,this[i]);<br />
    &nbsp;}<br />
    }<br />
    var arrayObject=["JavaScript","Prototype","Jquery"];<br />
    arrayObject.each(function(x){alert(x)});<br />
    [/cod]
    TEST;
    echo(preg_replace("/\[cod=\"([^\"]+)\"\]([^\[]+)\[\/cod\]/","<pre name=\"code\" class=\"$1\">$2</pre>",$content));这个代码运行不正确。
      

  5.   

    echo(preg_replace("/\[cod=\"([^\"]+)\"\](.*?)\[\/cod\]/s","<pre name=\"code\" class=\"$1\">$2</pre>",$content));
      

  6.   


    echo(preg_replace("/\[cod=\"([^\"]+)\"\]((?:.|\n)*?)\[\/cod\]/","<pre name=\"code\" class=\"$1\">$2</pre>",$content));
      

  7.   

    对四楼的代码用不了。新问题:像四楼的代码,如何能再把代码里的换行:
    <br />去掉?
      

  8.   


    function removeBr($str)
    {
    return preg_replace("/\<br \/\>/","",$str);
    }echo(preg_replace("/\[cod=\"([^\"]+)\"\]((?:.|\n)*?)\[\/cod\]/e","removeBr('<pre name=\"code\" class=\"$1\">$2</pre>')",$content));
    研究出来了,哈哈
      

  9.   

    我觉得我这个比较简单直观
    preg_replace('/\[cod="(.*?)"\](.*?)\[\/cod\]/is', '<pre name="code" class="$1">$2</pre>', $str);
      

  10.   

    我也写一个preg_replace("/\[cod=\"(.*?)\"\](.*?)\[\/cod\]/is", "<pre name=\"code\" class=\"$1\">$2</pre>", $str);