我正在寻找一款Javascript或PHP的BBCode解析器,不需要使用正则表达式。有人能推荐一个好的吗?
我正在寻找一款Javascript或PHP的BBCode解析器,不需要使用正则表达式。有人能推荐一个好的吗?
建议使用正则表达式。
其他解决方案:
function bb_parse($str)
{
return str_replace(array('[b]', '[/b]'), array('<strong>', '</strong>'), $str);
}
这可能会破坏解析,因为错误关闭标签可能会导致内容被包装在没有关闭的HTML标签中。
有一个bbcode的PECL扩展。您需要查看如何安装PECL扩展,以便使用它。
Zend解析器可能是您正在寻找的http://framework.zend.com/manual/en/zend.markup.parsers.html。
不幸的是,我发现它是我评估的BBCode解析器中最不实用的:当遇到格式不正确的标记([b] asdf [/ wops我忘记关闭我的标记
)时,它倾向于丢弃第一个格式不正确标记后的所有内容。其他BBCode解析器在忽略错误标记方面做得更好。
我知道你说不要用正则表达式,但是我最近在 JavaScript 中编写了一个 BBCode 解析器,我相信它可以解决你的问题,因为它不是简单的查找和替换,并且它允许你访问标签内的内容。你可以在这里看到它的演示:
http://patorjk.com/bbcode-previewer/
获取源代码并在此处编写:
http://patorjk.com/blog/2011/05/07/extendible-bbcode-parser-in-javascript/
我最近用JavaScript编写了一个BBCode解析器。
它可以做到以下几点:
查看演示:UBBParser
preg_replace_callback()
非常适合这种情况。如果您能给我们一个具体的例子,我们可以给您更具体的建议。 - Frank Farmer