gpt4 book ai didi

php - 有没有办法防止 Markdown 嵌套滥用?

转载 作者:可可西里 更新时间:2023-10-31 23:50:08 25 4
gpt4 key购买 nike

我正在使用此处提供的 PHP Markdown 脚本:http://michelf.com/projects/php-markdown/

我今天注意到,如果有人发布包含以下文本的消息:

>>>>>>>>>>>>>>>>>> Hello World <<<<<<<<<<<<<<<<<<<<

...Xdebug 将由于超过 100 个嵌套函数调用而产生 fatal error 。然后我意识到,几乎所有 markdown 语法都可能以这种方式被滥用——在许多情况下是无意中。

我通过替换 >>>> 的实例解决了这个问题与 >\>\>\> ,但这似乎根本不是一个合适的解决方案。

有没有人遇到过这个?有没有更好的 PHP 脚本来格式化 Markdown?

最佳答案

使用 Markdown 的正常途径是确保之后应用了良好的 HTML 清理,然后根据需要添加 hack。对于 >>>>> 一个简单的 hack 是:

preg_replace_callback("|>{5,}|", function($match) { 
return preg_replace('|.|', '\>', $match[0]);
}, $input);

这会添加一个反斜杠来转义长度为五个或更多字符的 > 序列。

值得庆幸的是,人们正在努力编写更可靠的 Markdown 解析器。其中一项成果是 Sundown,它基于 Upskirt,它使用 C 语言,但具有 PHP 扩展:https://github.com/chobie/php-sundown

关于php - 有没有办法防止 Markdown 嵌套滥用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7168540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com