在PHP中使用循环查找某些标记

时间:2014-12-29 07:19:49

标签: php dom

说我的变量$ content的输出将是

<div>
<p>text</p>
<p>text more</p>
<img src="google.jpg"/>
<img src=""/>
<img src=""/>
</div>

如果我回复$ content,我想获得第一个img URL而不回显任何屏幕外的内容。我该怎么办?

1 个答案:

答案 0 :(得分:2)

您要找的是HTML parsing

//your sample data
$content = '<div><p>text</p><p>text more</p><img src="google.jpg"/><img src=""/><img src=""/></div>'

//create object
$doc = new DOMDocument();

//load html from string
$doc->loadHTML($content);

//get all images
$images = $doc->getElementsByTagName('img');

//loop through all images
foreach ($images as $image) {

  //print image path
  echo $image->getAttribute('src');

  //this is necessary to print only first image path
  //if you want path of all images, simply remove break statement
  break;
}

检查thisthis以获取更多参考资料