PHP如何从URL中删除脚本标记?

时间:2011-08-23 23:56:48

标签: php url tags file-get-contents

我有url(使用file_get_contents)并且此链接有脚本标记,如何删除它们?

2 个答案:

答案 0 :(得分:1)

尝试以下正则表达式(取自jQuery源代码)。

$data = preg_replace('/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi', '', $data);

在有人要告诉我Regexes + HTML是一个邪恶的组合之前:你是对的,但在这个特定的情况下它是完全有效的,因为脚本标签有一些特定的行为,例如第一个</script>将关闭脚本标签;无论是否在引号内等。

但是,如果您打算对HTML数据执行任何其他操作,请使用HTML解析器!

答案 1 :(得分:0)

阅读本文:Writing secure PHP

此外,请不要窃取内容,如果这就是你正在做的事情。