PHP从字符串中删除信息

时间:2011-12-20 17:13:10

标签: php string

我有一个包含html格式图像的字符串。即..

<img title="imagetitle1" src="www.example.com/image1.gif" height="420" width="340" />

除了src的url之外,我需要从中删除所有内容。由于我们不知道标题是什么,因此无法使用str_replace,我们如何做到这一点。

2 个答案:

答案 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');

演示:http://codepad.org/bv6Ivnuy

答案 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