我有url(使用file_get_contents)并且此链接有脚本标记,如何删除它们?
答案 0 :(得分:1)
尝试以下正则表达式(取自jQuery源代码)。
$data = preg_replace('/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi', '', $data);
在有人要告诉我Regexes + HTML是一个邪恶的组合之前:你是对的,但在这个特定的情况下它是完全有效的,因为脚本标签有一些特定的行为,例如第一个</script>
将关闭脚本标签;无论是否在引号内等。
但是,如果您打算对HTML数据执行任何其他操作,请使用HTML解析器!
答案 1 :(得分:0)
阅读本文:Writing secure PHP
此外,请不要窃取内容,如果这就是你正在做的事情。