【问题标题】:PHP How do I remove script tags from URL?PHP 如何从 URL 中删除脚本标签?
【发布时间】:2011-11-02 09:24:50
【问题描述】:

我有 url ( 带有 file_get_contents ) 并且这个链接有脚本标签,我怎样才能删除它们?

【问题讨论】:

  • stackoverflow.com/questions/3606792/… 另外,您的问题与 URL 无关。您想从生成的资源中删除脚本标签,对吗?
  • 这是干什么用的?你想窃取别人的内容吗?

标签: php url tags file-get-contents


【解决方案1】:

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

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

在有人告诉我正则表达式+HTML 是一个邪恶的组合之前:你是对的,但在这种特定情况下它是完全有效的,因为脚本标签有一些特定的行为,例如第一个 &lt;/script&gt; 将关闭脚本标签;不管它是否在引号内等等。

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

【讨论】:

  • 非常感谢!可以了,再过7分钟我会把你的评论作为答案,系统说我应该至少等待7分钟才能做出答案。感激不尽^^
【解决方案2】:

阅读:Writing secure PHP

另外,如果您正在这样做,请不要窃取内容。

【讨论】:

    猜你喜欢
    • 2021-03-09
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    • 2011-10-31
    • 2019-01-25
    相关资源
    最近更新 更多