Как я могу вырезать много разных слов? 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') );
}

Этот пример в песочнице

→ Ссылка