我已经有了一个情况下,客户使用。php4和看起来并不像他们有梨。是有一个建立PHP设置高亮析程序,将工作与论坛的设置高亮系统?

我只是需要转换的设置高亮到HTML。这是一个数据迁移的论坛,以一个新的平台,因此我不能使用论坛的设置高亮的分析器。

文档:

http://www.vbulletin.com/forum/misc.php?do=bbcode

有帮助吗?

解决方案

这里有一个上HotScripts.com.

更新 应对批评(输入了三年之后你接受这个答复),这并没有包含足够的内容直接在后。

脚本的名字是目前的"招募分析器(设置高亮HTML)".

更新该链接,11月2013年。

向未来的链接,在该事件变得又坏了,我建议使用谷歌搜索词 设置高亮HTML php, 像我一样当时我回答这个问题问你或者,可以访问HotScripts试试你的搜索技能,在一个更有针对性的环境。

其他提示

“固体”?我从来没有在all.They发现了坚实的BBcode分析器都似乎是不小心使用regexen的松散集合,容易欺骗允许HTML注入攻击。

例如一个约翰W¯¯张贴可以清楚地与多个标签,包括利用:

[img]xxx" onerror="alert('JS injection!')[/img]

再加上它允许javascript:等危险网址,无法逃脱&,不允许许多网址字符(包括%!),而意外地允许其他人不应该(笔者还没有完全明白反斜线转义字符串中正在做那里),并没有禁止misnested标签或标签不小心吸进其他标签的属性...基本上它是一个不安全的混乱,这是意料之中的与设置高亮解析器的过程。

对不起,我没有帮助的答案(这是太大,不适合在评论)。

ETA重新注释:不错啊这不完全是一个设置高亮模块,只是类似。我分裂由线,去除现有的控制字符,然后使用字节01作为&的替代,02 <和03 >,然后为每个转化步骤中使用re.split上(\x02[^\x03]*\x03)就跑替换正则表达式对每第二个(非标签)的一部分,开始像换行和表情的“最里面的”替代品,那么虽然图像链接和斜体/粗体标记向外的工作,因为它会插入\x02html tags\x03。后来终于HTML编码&<>&<>更换控制代码。这将停止标记得到标记后的本身,这是在基于简单正则表达式的标记漏洞的一个大的来源。

试想想起来了,我也没写一个实际的Python的bbcode解析器,但只作为一个快速的兼容性黑客;它不提供完整的bbcode的所有功能。特别是,它不允许嵌套的任何其它范围标记内的任何范围标记(即具有紧密标签的标签)。这是比较容易实现的,如果这是可以接受的,因为你可以使用一个单通正则表达式匹配任何标记,并有可更换的功能决定基于标签名称如何更换。例如:

\[ (i|b|color|url|somethingelse) \=? ([^]]+)? \] (?: ([^]]*) \[\/\1\] )

(这是一个正则表达式VERBOSE所以该空格仅仅是为了便于阅读。不亚于任何正则表达式是有史以来可读的。)

卸下嵌套大大简化了的角病例数。

这个库不需要PEAR并且具有一些技巧,以防止注射。

http://www.christian-seiler.de/projekte/ PHP /设置高亮/ index_en.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top