【问题标题】:Regular expression match all image URLs [duplicate]正则表达式匹配所有图像 URL [重复]
【发布时间】:2010-10-06 09:02:46
【问题描述】:

可能重复:
How to get IMG tag code from HTML document?

我需要帮助来为随机页面上的每个图片网址制作 preg_match_all()
至于我这样做

preg_match_all('/img[\d\D]+?src\=(\'|\")([\d\D]+?)(\'|\")/i', $page, $matches); 

但不适用于每个页面。 必须匹配在 img src 中关闭的所有可能的图像,以及那些看起来不像图像的图像。 谢谢

【问题讨论】:

  • Regex 在这里不是正确的工具。看看 HTML 解析器。
  • 不,你是什么意思?能给我链接之类的吗?但是,如果您帮助我使用正则表达式会很好 - 因为这需要我很多时间,我希望看到它完成:)

标签: php regex image preg-match-all


【解决方案1】:

使用 html DOM 解析器 -> http://simplehtmldom.sourceforge.net/

那么您需要做的就是使用以下代码:

// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all images
foreach($html->find('img') as $element)
       echo $element->src . '<br>';

【讨论】:

  • 谢谢,但我现在真的不需要包含所有代码 - 脚本太简单了,但以后可能会有所帮助。
  • 再次 10 倍 - 解析器非常简洁
  • 建议的第三方替代 SimpleHtmlDom 实际使用 DOM 而不是字符串解析:phpQueryZend_DomQueryPathFluentDom
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-17
  • 1970-01-01
  • 2015-12-26
  • 2013-05-05
  • 1970-01-01
  • 1970-01-01
  • 2011-06-10
相关资源
最近更新 更多