加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

这个正则表达式bug找出来就"蒜你狠"

发布时间:2020-12-14 00:52:51 所属栏目:百科 来源:网络整理
导读:这个是输入的源数据: "script type=js src="a.com/a.php?code=5auN%4" reload="1"/scriptscript type=js src="b.com/code=uN%2Bo9" reload="1"/script"; 问题是找出这个字符串里的第1个src里面的url地址。比如上面的源数据就是要找出其中的: htt

这个是输入的源数据:

"script type=js src="a.com/a.php?code=5auN%4" reload="1"</script>script type=js src="b.com/code=uN%2Bo9" reload="1"</script>";

问题是找出这个字符串里的第1个src里面的url地址。比如上面的源数据就是要找出其中的:

http://a.com/a.php?code=5auN%4

现在我写个php脚本来测试下:

<?php

$srcUrl="script type=textjavascript src="a.com/a.php?code=5auN%4" reload="1"</script>"

."script type=textjavascript src="b.com/code=uN%2Bo9" reload="1"</script>";

$preg=preg_match('/script.+type=textjavascript.+src="(.*)".+reload/s',$srcUrl,$match);

echo($match[1]);

各位看官,我这个正则表达式有问题吗?匹配这个格式,然后第1个匹配的就应该是$match[1]。

'/script.+type=textjavascript.+src="(.*)".+reload/s'

结果输出如下:

wKioL1glzDrwcW7WAAAq-zR4ylo794.png

怎么$match[1]输出的反而是第2个呢?你说是不是该输出: a.com/a.php?code=5auN%4 才对啊,因为这才是第1个匹配的( )里的字符串啊。各位看官有什么高见啊?

这个正则表达式的错误,小编暂时没解。哪位有高见麻烦贴到评论里,谢谢。

但小编用这个方法把问题解决了,得到了想要的url:

wKiom1glzHHCtXL5AABAJzLzfp4779.png

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读