以下正则表达式获取所有图像src,但在开始时显示src="
,在路径末端显示"
。
如何删除它并仅显示路径?
preg_match('/src="(.*?)"/i' , $content1 , $matches);
答案 0 :(得分:4)
你几乎做得对。正则表达式是正确的,但是:
echo $matches[1];
这将输出第一个捕获的子模式。第一个匹配($matches[0]
)将始终包含匹配的完整文本,包括src=""
位。
答案 1 :(得分:3)
<强>代码:强>
$re = '/(?<=src=")(?:.*?)(?=")/ui';
$txt = '<img src="http://www.gravatar.com/avatar/6f5de9?s=32&d=identicon&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 :(得分:2)
$ matches将包含第一个元素中的整个匹配模式,后跟每个子模式的元素。在这种情况下,你想要$ matches [1]来获得你想要的东西。