你好。
我想尝试制作一个BBCode解析器,据我所知,preg函数最方便用html查找和替换bbcode。
过去我一遍又一遍地使用了很多str_replace,效率不高。
我想创建一个BBCode并将其存储在DB中,因此给出了BBCode结构:
[image]{URL}[/image]
和HTML:<img src="{URL}" alt="" .. />
如何使用PHP比较这两个输入并找到在内容中解析BBcode时使用的必要preg模式?
我想要实现的是DB也存储这种模式,当需要解析bbcodes的大文本时,它将确切知道如何执行它。没有硬编码。
我搜索了一下,尝试找到相关的主题,但我只能找到关于如何解析url bbcode等的确切模式,所以请原谅我,如果这确实存在于某个地方。
答案 0 :(得分:1)
将正则表达式和替换模式存储在DB中:
regExp: \[image\](.*?)\[/image\]
replacement: <img src="$1"/>
然后从数据库中检索这些并将preg_replace()
作为参数调用。请注意,您应该能够通过一次调用来执行此操作,因为您可以将regexp和replacement指定为数组,并且它将立即执行所有这些操作。