-1

我正在使用 PHP 来抓取一些网站。图像信息包含在脚本中。

<body>
  <div>something</div>
  <div>Something else</div>
  <script type="text/javascript" language="javascript">
      var imgs = ['<img alt="image1" class="happy-image" src="http://example.com/image1.jpg" title = "Image 1">, <img alt="image2" class="happy-image" src="http://example.com/image2.jpg" title = "Image 2">];

  </script>
</body>

我想使用 PHP 从这个字符串中提取与这个图像相关的信息,甚至不知道从哪里开始编写正则表达式来实现这一点。

4

1 回答 1

2

您最安全的选择是使用 解析 HTML DOMDocument,提取脚本的内容,然后将其解析HTML。这将使您可以访问图像。像这样:

$dom = new DOMDocument();
$dom->loadHTML($your_html_here);
$script = $dom->getElementsByTagName('script')->item(0);
$dom->loadHTML($script->nodeValue);
$imgs = $dom->getElementsByTagName('img');
foreach($imgs as $img) {
    $src = $img->getAttribute("src");
    // do something
}
于 2013-05-17T01:16:02.647 回答