我目前正在通过检查 PHP 中的所有文本在传递给客户端之前保护我的 AJAX 聊天免受攻击。到目前为止,我已经成功完成了我的任务,除了我需要匹配一组图像标签的部分。
总的来说,我希望它能够拾取我管理的一组标签之间存在换行符的任何实例,但是我拥有的解决方案是贪婪的,并且如果有多组标签,我也会匹配标签之外的换行符.
目前,如果我只想匹配,我有以下内容[img]{newline}[/img]
if(preg_match('/\[\bimg\].*\x0A.*\[\/\bimg\]/', $text)){ //code }
但如果我想做[img]image.jpg[/img]{newline}[img]image.jpg[/img]
,它只会看到我不想要的第一个和结束标签。
所以现在我问,你如何让它正确匹配每组标签?
编辑:为了澄清。标签内的任何换行符都是不好的,所以我想检测它们。标签外的任何换行符都很好,我想忽略它们。原因是,如果客户端处理标签内的换行符,它就会崩溃。