2011-12-20 9 views
0

イメージをhtml形式で含む文字列があります。つまり..PHPは文字列から情報を削除します

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

srcのURLを除いて、すべてを削除する必要があります。タイトルが何であるかわからないので、str_replaceを使用することはできません。どうすればいいですか?

答えて

2

正規表現を使用すると、これを行うことができます:HTMLデータを解析するとき

$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 
3

、私の代わりに正規表現のDOMDocumentを使用したいです。

$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

関連する問題