0

我需要从文本中获取所有“src”元素。“src”可以有“或'。在井中找到的文本,但如果元素有id,样式......他们也抓住了。我只需要src值。

我的代码:

$html = 'text text <img src="img1.png"/> as as <img src=\'second.gif\' id ="test" /> as';

preg_match_all('/src=("|\')([^"]*)("|\')/', $html, $htmlSrc);

echo '<pre>';
print_r($htmlSrc);

Array
(
    [0] => Array
        (
            [0] => src="img1.png"
            [1] => src='second.gif' id ="
        )

    [1] => Array
        (
            [0] => "
            [1] => '
        )

    [2] => Array
        (
            [0] => img1.png
            [1] => second.gif' id =
        )

    [3] => Array
        (
            [0] => "
            [1] => "
        )

)
4

2 回答 2

0
preg_match_all('/src="|\'([^"\']*)"|\'/', $html, $htmlSrc);
print_r($htmlSrc[2]);

似乎工作得更好。

于 2013-10-02T13:07:21.317 回答
0

正则表达式是个坏主意,您最终可能会得到无法维护和不可靠的代码。如果您使用 HTML 解析器,这将是简单而可靠的。你可以在这里找到一个例子:http: //simplehtmldom.sourceforge.net/

于 2013-10-02T08:46:20.467 回答