我正在使用PHP Markdown脚本:http://michelf.com/projects/php-markdown/
我今天注意到,如果有人发布包含以下文字的消息:
>>>>>>>>>>>>>>>>>> Hello World <<<<<<<<<<<<<<<<<<<<
...由于超过100个嵌套函数调用,Xdebug将产生致命错误。然后我意识到几乎任何降价语法都会以这种方式被滥用 - 在许多情况下是无意中滥用。
我通过将>>>>
的实例替换为>\>\>\>
来解决问题,但这似乎不是一个适当的解决方案。
有没有人碰到过这个?是否有更好的PHP脚本来格式化Markdown?
答案 0 :(得分:0)
使用Markdown,正常的路线是确保您之后应用了良好的HTML清理,然后根据需要添加黑客。对于>>>>>
,一个简单的黑客就是:
preg_replace_callback("|>{5,}|", function($match) {
return preg_replace('|.|', '\>', $match[0]);
}, $input);
这会为>
的转义序列添加一个反斜杠,其长度为五个或更多字符。
值得庆幸的是,我们正在努力编写更加可靠的Markdown解析器。一个这样的努力是基于Upskirt的日落,它在C中,但有一个PHP扩展:https://github.com/chobie/php-sundown