没有正则表达式的BBCode解析器?

时间:2011-05-25 17:37:03

标签: php javascript parsing bbcode

我正在寻找Javascript或PHP中的BBCode解析器,而无需使用Regex。任何人都可以建议我一个好的吗?

6 个答案:

答案 0 :(得分:6)

建议使用正则表达式。

其他解决方案:

function bb_parse($str)
{
    return str_replace(array('[b]', '[/b]'), array('<strong>', '</strong>'), $str);
}

这可能会因为错误关闭标记而导致解析,最终内容会被HTML标记包裹而不会关闭。

答案 1 :(得分:2)

有一个PECL extension for bbcode。您需要查看how to install PECL extensions才能使用它。

答案 2 :(得分:1)

Zend解析器可能正是您正在寻找的http://framework.zend.com/manual/en/zend.markup.parsers.html

不幸的是,我发现它是我评估的BBCode解析器中最不实用的功能:当遇到格式错误的标记([b] asdf [/ wops I forgot to close my tag)时,它往往会丢弃第一个格式错误的标记之后的所有内容。其他bbcode解析器可以更好地简单地忽略坏标记。

答案 3 :(得分:0)

所以我知道你说没有正则表达式,但是我最近用JavaScript写了一个BBCode解析器,我相信它解决了你的问题,因为它是一个简单的查找和替换它让你访问标签内的内容。你可以在这里看到它的演示:

http://patorjk.com/bbcode-previewer/

获取源代码并在此处写下来:

http://patorjk.com/blog/2011/05/07/extendible-bbcode-parser-in-javascript/

答案 4 :(得分:0)

我最近在javascript中编写了一个bbcode解析器。

它能做什么:

  1. 将BBcode字符串转换为HTML字符串;
  2. 将HTML元素转换为BBCode字符串;
  3. 自动更正BBCode字符串;
  4. 查看演示:UBBParser

答案 5 :(得分:-1)

如果您可以安装PECL扩展程序,则可以使用BBCode functions