如何使用php搜索字符串中的src
和srcset
标记?
通常我会将此代码用于src
字符串
$source
标记
preg_match_all('/< *img[^>]*src *= *["\']?([^"\']*)/i', $source, $output);
$src_tag_length = count($output[0]);
然后我想使用php在src
字符串中搜索srcset
和$source
标记。
我该怎么做?
preg_match_all('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', $source, $output);
$src_srcset_tag_length = count($output[0]);
答案 0 :(得分:2)
我不会使用正则表达式,因为它很容易出现用户错误。
你可以 使用PHP DOMDocument class:
<?php
$html = '<html><body><img src="somethign.jpg"><img srcset="another.jpg"></body></html>';
$dom = new DOMDocument();
$dom->loadHTML( $html );
echo '<pre>';
foreach( $dom->getElementsByTagName( 'img' ) as $node )
{
// Take notice that some img's src and srcset is not set
// but getAttribute() still returns an empty string
var_dump( $node->getAttribute( 'src' ) );
var_dump( $node->getAttribute( 'srcset' ) );
}