我想检查网址中的脚本标记
例如: 如果url有脚本标记,则下面的senario工作正常..
<?php
$url = 'admin/content/test/<script>';
preg_match('<script>', $url, $match);
if (count($match) >= 1) {
print 'It executes';
}
?>
输出:It executes
但是在我的情况下,如果url有一个字符串“product_description”,那么上面的条件匹配
<?php
$url = 'admin/content/product_description/test';
preg_match('<script>', $url, $match);
if (count($match) >= 1) {
print 'It executes';
}
?>
输出:执行
请建议检查网址中脚本标记的正确方法..
答案 0 :(得分:0)
尝试使用strpos
代替preg_match
:
if (strpos($url,'<script>') !== false) {
print 'It executes';
}
您可以在此处获得此功能的手册:documentation
答案 1 :(得分:0)
你必须把正则表达式放在分隔符中:
preg_match('/<script>/', $url, $match);
您的版本有效,因为<>
对被视为分隔符,它与以下内容相同:
preg_match('/script/', $url, $match);
它匹配script
和de script
离子