如何使用php在字符串中搜索src和srcset标签?

时间:2018-02-26 15:18:32

标签: php preg-match-all

如何使用php搜索字符串中的srcsrcset标记?

通常我会将此代码用于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]);

1 个答案:

答案 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' ) );
}