preg_replace("/\[url\]([^\[]*)\[\/url\]/","<a href='\\1' target=_blank>\\1</a>",$str);

解决方案 »

  1.   

    看看以下代码,是像所有论坛的 html 自动转换 url的代码模块。
    <?php
         $string="Liverpool fans club";
         $pat1="(\[url=)";
         $pat2="([[:graph:]]+)";
         $pat3="(\])";
         $pat4="([[:print:]]+)";
         $pat5="(\[/url\])";
         $pattern="$pat1$pat2$pat3$pat4$pat5";
         $replacement=eregi_replace($pattern,"<a href=\\2>\\4</a>",$string);
       echo $replacement;
    ?>
    之间是英文是,一切正常,但 当有中文时 $pat4="([[:print:]]+)"就无能为力了,怎么办呢?小弟因为最近提了很多问题,已经没分了,以后一点双倍报答。
      

  2.   

    preg_replace("/\[url=([^\[]*)\]([^\[]*)\[\/url\]/","<a href='\\1' target=_blank>\\2</a>",$str);
      

  3.   

    这个函数怎么用啊?我刚才试过,如果我用echo 输出,应该输出哪个变量啊?preg_replace跟ereg_replacd有什么不同啊?