楼主可以去下一个discuzz论坛,这方面资比较全:$str = 'http://www.toptra.com/';
$p1 = "/\[(\w+)\](.*)\[\/\\1\]/Uis";
preg_match($p1, $str, $matches);
print_r($matches);

解决方案 »

  1.   

    这是一个手册上的例子,你可以参照下面的
    // $document 应包含一个 HTML 文档。
    // 本例将去掉 HTML 标记,javascript 代码
    // 和空白字符。还会将一些通用的
    // HTML 实体转换成相应的文本。$search = array ("'<script[^>]*?>.*?</script>'si",  // 去掉 javascript
                     "'<[\/\!]*?[^<>]*?>'si",           // 去掉 HTML 标记
                     "'([\r\n])[\s]+'",                 // 去掉空白字符
                     "'&(quot|#34);'i",                 // 替换 HTML 实体
                     "'&(amp|#38);'i",
                     "'&(lt|#60);'i",
                     "'&(gt|#62);'i",
                     "'&(nbsp|#160);'i",
                     "'&(iexcl|#161);'i",
                     "'&(cent|#162);'i",
                     "'&(pound|#163);'i",
                     "'&(copy|#169);'i",
                     "'&#(\d+);'e");                    // 作为 PHP 代码运行$replace = array ("",
                      "",
                      "\\1",
                      "\"",
                      "&",
                      "<",
                      ">",
                      " ",
                      chr(161),
                      chr(162),
                      chr(163),
                      chr(169),
                      "chr(\\1)");$text = preg_replace ($search, $replace, $document);
      

  2.   

    $str = 'TopTra.com';
    $r = preg_replace("/\[url=(.*?)\](.*?)\[\/.*?\]/i","<a herf=\"\$1\" target='_blank'>\${2}</a>",$str);
    echo $r;
      

  3.   

    $str = "http://www.toptra.com/";
    $r = preg_replace("/\[url\](.*?)\[\/url\]/i","<a herf=\"\${1}\" target=_blank>\${1}</a>",$str);
    echo $r;
      

  4.   

    谢谢各位,终于可以了。
    这是我综合大家的意见,做的。
    生成的示例:
    http://www.toptra.com/html/2006/09-12/5734.html
    非常好。谢谢。结贴。
    $thread_content = preg_replace("/\[url=(.*?)\](.*?)\[\/.*?\]/i","<a href=\"\$1\" target=\"_blank\">\${2}</a>",$thread_content);
    $thread_content = preg_replace("/\[url\](.*?)\[\/.*?\]/i","<a href=\"\$1\" target=\"_blank\">\${1}</a>",$thread_content);