动态创建preg模式?

时间:2014-03-10 22:05:39

标签: php html parsing preg-match bbcode

你好。

我想尝试制作一个BBCode解析器,据我所知,preg函数最方便用html查找和替换bbcode。

过去我一遍又一遍地使用了很多str_replace,效率不高。

我想创建一个BBCode并将其存储在DB中,因此给出了BBCode结构:

[image]{URL}[/image]

和HTML:<img src="{URL}" alt="" .. />

如何使用PHP比较这两个输入并找到在内容中解析BBcode时使用的必要preg模式?

我想要实现的是DB也存储这种模式,当需要解析bbcodes的大文本时,它将确切知道如何执行它。没有硬编码。

我搜索了一下,尝试找到相关的主题,但我只能找到关于如何解析url bbcode等的确切模式,所以请原谅我,如果这确实存在于某个地方。

1 个答案:

答案 0 :(得分:1)

将正则表达式和替换模式存储在DB中:

regExp: \[image\](.*?)\[/image\]
replacement: <img src="$1"/>

然后从数据库中检索这些并将preg_replace()作为参数调用。请注意,您应该能够通过一次调用来执行此操作,因为您可以将regexp和replacement指定为数组,并且它将立即执行所有这些操作。