我有一个包含html格式图像的字符串。即..
<img title="imagetitle1" src="www.example.com/image1.gif" height="420" width="340" />
除了src的url之外,我需要从中删除所有内容。由于我们不知道标题是什么,因此无法使用str_replace
,我们如何做到这一点。
答案 0 :(得分:3)
在解析HTML数据时,我喜欢使用DOMDocument
而不是RegEx。
$data = 'Test data src="A" <img title="imagetitle1" src="www.example.com/image1.gif" height="420" width="340" />More data';
$DOM = new DOMDocument;
$DOM->loadHTML($data);
$xPath = new DOMXPath($DOM);
$img = $xPath->query('//img[@title="imagetitle1"]');
echo $img->item(0)->getAttribute('src');
答案 1 :(得分:2)
使用正则表达式,您可以这样做:
$input = '<img title="imagetitle1" src="www.example.com/image1.gif" height="420" width="340" />';
if (preg_match('/src\\=\\"(.*?)\\"/m', $input, $matches)) {
echo $matches[1];
}
//output
www.example.com/image1.gif