从所有img标签中获取src值[重复]

问题描述 投票:0回答:3

以下正则表达式获取所有图像 src,但在路径开头显示

src="
,在路径末尾显示
"

如何删除它并仅显示路径?

preg_match('/src="(.*?)"/i' , $content1 , $matches);
php regex preg-match
3个回答
4
投票

你几乎做对了。正则表达式是正确的,但是:

echo $matches[1];

这将输出第一个捕获的子模式。第一个匹配 (

$matches[0]
) 将始终包含匹配的全文,即包括
src=""
位。


3
投票

代码:

$re = '/(?<=src=")(?:.*?)(?=")/ui';
$txt = '<img src="http://www.gravatar.com/avatar/6f5de9?s=32&amp;d=identicon&amp;r=PG" height="32" width="32" alt="">';

$nMatches = preg_match($re, $txt, $aMatches);

输出:

Array
(
    [0] => http://www.gravatar.com/avatar/6f5de9?s=32&d=identicon&r=PG
)

2
投票

$matches 将在第一个元素中包含整个匹配模式,后面是每个子模式的元素。在这种情况下,您需要 $matches[1] 来获得您想要的东西。

© www.soinside.com 2019 - 2024. All rights reserved.