先扫盲一下什么是正则表达式的贪婪,什么是非贪婪?或者说什么是匹配优先量词,什么是忽略优先量词?
好吧,我也不知道概念是什么,来举个例子吧。
某同学想过滤之间的内容,那是这么写正则以及程序的。
$str = preg_replace('%<script>.+?</script>%i','',$str);//非贪婪
看起来,好像没什么问题,其实则不然。若
$str = '<script<script>alert(document.cookie)</script>>alert(document.cookie)</script>';
那么经过上面的程序处理,其结果为
$str = '<script<script>alert(document.cookie)</script>>alert(document.cookie)</script>'; $str = preg_replace('%<script>.+?</script>%i','',$str);//非贪婪 print_r($str); //$str 输出为 <script>alert(document.cookie)</script>
仍然达不到他想要的效果。上面的就是非贪婪,也有的叫惰性。其标志非贪婪的标识为量数元字符后面加? ,比如 +?、*?、??(比较特殊,以后的BLOG中,我会写到)等。即标识非贪婪,如果不写?就是贪婪。比如
$str = '<script<script>alert(document.cookie)</script>>alert(document.cookie)</script>'; $str = preg_replace('%<script>.+</script>%i','',$str);//非贪婪 print_r($str); //$str 输出为热AI工具
Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片
AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。
Undress AI Tool
免费脱衣服图片
Clothoff.io
AI脱衣机
Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!
热门文章
刺客信条阴影:贝壳谜语解决方案3 周前ByDDDWindows 11 KB5054979中的新功能以及如何解决更新问题2 周前ByDDD在哪里可以找到原子中的起重机控制钥匙卡3 周前ByDDD<🎜>:死铁路 - 如何完成所有挑战4 周前ByDDDAtomfall指南:项目位置,任务指南和技巧4 周前ByDDD热工具
适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。
螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。
Atom编辑器mac版下载
最流行的的开源编辑器
Dreamweaver Mac版
视觉化网页开发工具
SublimeText3 Linux新版
SublimeText3 Linux最新版