【问题标题】:Get full source of a url获取网址的完整来源
【发布时间】:2014-08-23 08:03:24
【问题描述】:

我知道我可以使用 file_get_contents 方法获取页面的内容, 但是有没有办法获取 script 标签之间所有内容的来源? 即假设该页面构建了一个我想要获取的对象:

 <script src="js.js">
  dataLayer = [{dest":"Lithuania","type" : "small", "code" : "4"}];
 </script>

有什么办法可以用php或者其他方法获取内容吗?

【问题讨论】:

  • 介于两者之间的一切”是什么意思?
  • php 中使用DOMDocument。获取特定标签之间的内容。
  • "有什么方法可以获取内容...?" 是的,是的。
  • 使用 preg_match_all 或 DOMDocument。

标签: javascript php jquery html


【解决方案1】:

您可以使用正则表达式获取里面的所有脚本标签和 HTML 文档。

这里只是一些 php 行来检索所有脚本标签:

$matches = array();
$pattern = '/<script[^>]*>(.*?)<\\/script>/ius';
$subject = file_get_contents('YOUR URL');
preg_match_all( $pattern, $subject , $matches );

这里 $matches 是一个数组,其中包含与模式匹配的所有字符串。键 0 包含完整的模式匹配,键 1 仅包含 () 之间的匹配组:

[
  0 => [
    0 => "<script>script content 1</script>",
    1 => "<script>script content 2</script>",
    ...
  ],
  1 => [
    0 => "script content 1",
    1 => "script content 2",
    ...
  ]
]

函数的一些细节:

希望对你有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    相关资源
    最近更新 更多