【问题标题】:Get image url with preg_match [duplicate]使用 preg_match 获取图像 url [重复]
【发布时间】:2012-10-24 21:06:15
【问题描述】:

可能重复:
Grabbing the href attribute of an A element

我必须遵循代码:

   <div class="thumbinner" style="width:252px;"><img alt="" src="/images/thumb/0/03/HettyBlok.jpg/250px-HettyBlok.jpg" width="250" height="278" class="thumbimage" /></div>

现在我想用 preg_match 获取图片 url。

但我不知道如何得到这个。

如何获取图片地址?

【问题讨论】:

  • preg_match('#src="(.*?)"#',$str,$match);... 但一般不要对这种事情使用正则表达式,使用 domparser。
  • 我引用 EJTH,DomParser 更准确,但会慢一些...
  • DOM 解析器会慢 很多。对上述情况使用好的正则表达式没有任何问题...如果您要以多种不同方式使用生成的树或搜索许多复杂元素,则应仅使用 DomParsing... 否则会浪费资源。

标签: php html preg-match image src


【解决方案1】:
$string = '<div class="thumbinner" style="width:252px;"><img alt="" src="/images/thumb/0/03/HettyBlok.jpg/250px-HettyBlok.jpg" width="250" height="278" class="thumbimage" /></div>';
$url = preg_replace('#.*src="([^\"]+)".*#', '\1', $string);

现在您的图片网址位于 $url var。

【讨论】:

    【解决方案2】:
    preg_match("#src=\"\(S\+)"#",$my_code,$my_link);
    

    应该没问题

    【讨论】:

      【解决方案3】:

      你也可以像下面这样解析DOM

      $dom = new DOMDocument;
      $dom->loadHTML('<div class="thumbinner" style="width:252px;"><img alt="" src="/images/thumb/0/03/HettyBlok.jpg/250px-HettyBlok.jpg" width="250" height="278" class="thumbimage" /></div>');
      $x = new DOMXPath($dom); 
      
      foreach($x->query("//img") as $node) 
      {
          echo $node->getAttribute("src");
      }
      

      工作样本:http://codepad.org/szqI92Z8

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-27
        • 2016-11-20
        • 2010-11-20
        • 2020-06-18
        • 2015-02-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多