Как я могу вырезать много разных слов? PHP
Есть большой текст в котором присутствуют изображения. Пример:
Lorem Lorem Lorem <img src"Нужно получить" /> LoremLoremLoremLorem
LoremLorem Lorem <img src"Нужно получить" /> LoremLoremLorem
LoremLoremLorem
LoremLorem <img src"Нужно получить" />.
Все пути в src мне нужно получить, но я не понимаю как это сделать.
Пути в формате base64, то есть "data:image/png;base64,..."
Ответы (2 шт):
Автор решения: Alexey
→ Ссылка
<?php
$text = '
Lorem Lorem Lorem <img src="Нужно получить" /> LoremLoremLoremLorem
LoremLorem Lorem <img src="Нужно получить" /> LoremLoremLorem
LoremLoremLorem
LoremLorem <img src="Нужно получить" />.
';
$pattern = '/<img[^>]*\bsrc\s*=\s*["\']([^"\']+)["\']/';
preg_match_all($pattern, $text, $matches);
foreach ($matches[1] as $match) {
echo $match . "\n";
}
?>
Автор решения: Deonis
→ Ссылка
<?php
$txt = 'Lorem Lorem Lorem <img src="path/img1.jpg"/> LoremLoremLoremLorem
LoremLorem Lorem <img src="path/img2.jpg" /> LoremLoremLorem
LoremLoremLorem
LoremLorem <img src="path/img3.jpg" />.';
$dom = new DomDocument();
$dom->loadHTML($txt);
foreach($dom->getElementsByTagName('img') as $node) {
var_dump( $node->getAttribute('src') );
}
Этот пример в песочнице