代码之家  ›  专栏  ›  技术社区  ›  Saiaku

动态创建怀孕模式?

  •  1
  • Saiaku  · 技术社区  · 11 年前

    你好

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

    在过去,我反复使用了很多str_replace,这不是很有效。

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

    [image]{URL}[/image]
    

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

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

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

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

    1 回复  |  直到 11 年前
        1
  •  1
  •   Barmar    11 年前

    将正则表达式和替换模式存储在数据库中:

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

    然后稍后从数据库中检索这些并调用 preg_replace() 以它们作为论据。请注意,您应该能够通过一次调用来完成,因为您可以将regexp和替换指定为数组,并且它将同时执行所有这些操作。