Предположим, у меня есть строка, содержащая разметку HTML со многими тегами img, которые выглядят следующим образом:
<img src="data/images/original/3.png" alt="" />
Мне нужно регулярное выражение, которое изменило бы все изображения, чтобы иметь такие пути:
<img src="/utils/locate-image?path=data%2Fmedia%2Fimages%2Foriginal%2F3.png" alt="" />
Я не очень хорошо разбираюсь в регулярном выражении, поэтому я хотел бы оценить пример кода, который может это сделать?
Не используйте для этого регулярные выражения. Простой HTML DOM- анализатор должен быть идеальным для работы.
Это должно быть так просто:
foreach($html->find('img') as $e) { $e->src = "insert modified src here"; } echo $html;
Не используйте для этого регулярные выражения. Собственный парсер DOM от PHP должен быть идеальным для работы.
$dom = new DOMDocument; $dom->loadHTML('<img src="foo" alt=""/>'); $images = $dom->getElementsByTagName('img'); foreach($images as $image) { $image->setAttribute('src', 'bar'); echo $dom->saveXML($image); }
эхо-сигналы <img src="bar" alt=""/>