正则表达式和 PHP - 将 src 属性与 img 标记隔离开来法典输出

2022-08-30 11:56:16

使用PHP,如何将src属性的内容与$foo隔离开来?我正在寻找的最终结果只会给我“http://example.com/img/image.jpg"

$foo = '<img class="foo bar test" title="test image" src="http://example.com/img/image.jpg" alt="test image" width="100" height="100" />';

答案 1

如果您不希望使用正则表达式(或任何非标准PHP组件),则使用内置DOMDocument类的合理解决方案如下:

<?php
    $doc = new DOMDocument();
    $doc->loadHTML('<img src="http://example.com/img/image.jpg" ... />');
    $imageTags = $doc->getElementsByTagName('img');

    foreach($imageTags as $tag) {
        echo $tag->getAttribute('src');
    }
?>

答案 2

法典

<?php
    $foo = '<img class="foo bar test" title="test image" src="http://example.com/img/image.jpg" alt="test image" width="100" height="100" />';
    $array = array();
    preg_match( '/src="([^"]*)"/i', $foo, $array ) ;
    print_r( $array[1] ) ;

输出

http://example.com/img/image.jpg

推荐