2011-12-20 2 views
0

У меня есть строка, содержащая изображение в формате html. Ie ..PHP удаляет информацию из строки

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

Мне нужно снять все с него, за исключением URL-адреса src. Поскольку мы не знаем, что такое заголовок, и поэтому не можем использовать str_replace, как мы это сделаем.

ответ

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

Смежные вопросы