PHP удалить информацию из строки - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть строка, которая содержит изображение в формате HTML. Т.е ..

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

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

Ответы [ 2 ]

3 голосов
/ 20 декабря 2011

При разборе данных 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

2 голосов
/ 20 декабря 2011

С помощью регулярного выражения вы можете сделать это:

$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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...