我想在我的php字符串中找到open()和close()的脚本标记。请在下面找到我的代码
public function custom_xss_clean($str){
if(!preg_match('/(<\/?)(script|html)(>*)/i', $str)){
return true;
} else {
$this->form_validation->set_message('custom_xss_clean','The %s field invalid');
return false;
}
}
此代码在联机工具中运行良好,但在我的代码中没有用于字符串
<script>alert(10)</script>
我尝试了很多模式,但没有运气。请提前帮助谢谢。
答案 0 :(得分:0)
你的意思是你想要在脚本标签之间获取所有内容?
<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U","<script>example: </script><div align=left>this is a test</div>",$out, PREG_PATTERN_ORDER);
echo '<pre>',
print_r($out);
如果您在codeigniter中寻找xss_clean,请点击此链接click
答案 1 :(得分:0)
试试这个
preg_match('/<script>[a-zA-Z0-9 \. \n \t\r \* \\ \* ~`!@#$%^&*()-_+={}\[\]\'":;?\/><.,|]*<\/script>/', $str);
经过测试,您也可以查看实时https://regex101.com/r/ih2C3F/1/