如何使用正则表达式从用户定义的标记创建超链接

时间:2011-04-18 05:03:58

标签: php replace bbcode

如何从以下字符串创建超链接。

[url =http://google.com] Google [/url] 

应该替换为

<a href="http://www.google.com">Google</a>

锚标记的结构是url作为src属性,中心作为标题

2 个答案:

答案 0 :(得分:0)

您要使用的功能是preg_split

答案 1 :(得分:0)

我假设你正在写bbcode。如果这样写一个实际的解析器会更快,但如果你只是想做搜索并替换像

这样的东西
preg_replace('/\[url=(.*?)\](.*?)\[\/url\]/i', '<a href='.$1.'>'.$2.'</img>');

我不记得jsfiddle like site让你显示regexp所以如果有人知道,请把它留在评论中。

此外,如果您只是将我的代码复制并粘贴到您的bbcode搜索并替换文件...不要它容易受到xss注入,而且真的不是一个惊人的表达它只是一个例子。