Можно ли найти все изображения, которые не обернуты в ссылку?
Пример содержимого:
$content = 'Something <a href="/blog">Blog</a>, lorem ipsum <img class="wp-image-1234" src="http://www.website.com/img/image.jpg"> dolor sit amet <a href="/images"><img class="2344" src="http://www.website.com/img/image.jpg"> Images</a> ipsum dolor lorem <img class="aligncenter size-medium wp-image-3201" src="http://www.website.com/wp-content/uploads/2018/07/image-18-300x200.jpg" alt="" srcset="http://www.website.com/wp-content/uploads/2018/07/image-18-300x200.jpg 300w, http://www.website.com/wp-content/uploads/2018/07/image-18-768x512.jpg 768w, http://www.website.com/wp-content/uploads/2018/07/image-18-128x85.jpg 128w, http://www.website.com/wp-content/uploads/2018/07/image-18-375x250.jpg 375w, http://www.website.com/wp-content/uploads/2018/07/image-18.jpg 800w" sizes="(max-width: 300px) 100vw, 300px"> <a href="/image"> <img class="aligncenter size-medium wp-image-3200" src="http://www.website.com/wp-content/uploads/2018/07/image-18-300x200.jpg" alt="" srcset="http://www.website.com/wp-content/uploads/2018/07/image-18-300x200.jpg 300w, http://www.website.com/wp-content/uploads/2018/07/image-18-768x512.jpg 768w, http://www.website.com/wp-content/uploads/2018/07/image-18-128x85.jpg 128w, http://www.website.com/wp-content/uploads/2018/07/image-18-375x250.jpg 375w, http://www.website.com/wp-content/uploads/2018/07/image-18.jpg 800w" sizes="(max-width: 300px) 100vw, 300px"> </a>';
Мое намерение состоит в том, чтобы вручную обернуть каждое изображение новой ссылкой на основе идентификатора, который я бы извлек из имени класса изображения "wp-image-xxxx" (Wordpress)
PHP язык, вот шаблон https://regexr.com/3s0jk
С DOMDocument / DOMXPath:
$doc = DOMDocument::loadHtml($content); $selector = new DOMXPath($doc); $query = '//img[not(parent::a)]'; foreach($selector->query($query) as $node) { echo $node->getAttribute('src'), PHP_EOL; }