preg_replace: BB code to HTML URL


preg_replace: BB code to HTML URL

我这里有一个小脚本,用HTML代码替换BB代码。一切正常,但网址除外。

$bbextended = array(
"/'[URL=(.*?)'](.*?)'['/URL']/i" => "<a href='"$1'" title='"$1'">$2</a>"
);
foreach($bbextended as $match=>$replacement){
$bbtext = preg_replace($match, $replacement, $bbtext);
}

输入

[URL="http://somewebsite.come/something"]Some Website Title[/URL]

输出

<a href=""http://somewebsite.come/something"" title=""http://somewebsite.come/something"">Some Website Title</a>

有双引号,这显然不是那么好。

我试过了

$bbextended = array(
"/'[URL='"(.*?)'"'](.*?)'['/URL']/i" => "<a href='"$1'" title='"$1'">$2</a>"
);

在代码中,但它不起作用。我还试图省略 HTML 代码中$1周围的转义标志和引号,但它也不起作用。

有什么想法吗?

你应该为此使用一个真正的解析器,比如jBB http://jbbcode.com/

当我

设置查找字符串 = '/'[URL="(.*?)"'](.*?)'['/URL']/i'

设置替换字符串 = '<a href="$1" title="$1">$2</a>'

我使用简单的preg_replace得到这个

<a href="http://somewebsite.come/something" title="http://somewebsite.come/something">Some Website Title</a>
相关文章: