как пропарсить html текст средствами php

272
02 ноября 2017, 05:53

Есть определеный html контент (он может быть разным)... Допустим есть статья:

<img src="image.png" width="100" height="80"/>
<p>А вот текс моей статьи...</p>

Как видите в начале статьи есть картинка... причем в параметре src="" может быть любое название картинки... (не только image.png) Мне нужно из каждой подобной статьи средствами php "получить" этот кусок кода:

<img src="image.png" width="100" height="80"/>

С правильным значением src="" а не тем что в примере.. При этом в статье может быть как одна, так и 10 картинок..НО та которая нужна мне всегда находится в самом начале статьи.. поверх текста..

Answer 1

Если стандартными средствами, то

$doc = new DOMDocument();
$res = @$doc->loadHTMLFile('index.html');  //Здесь может быть и ссылка на удаленный ресурс
if($res)  {
$tags = $doc->getElementsByTagName('img');
   //Тут работаешь с массивом элементов и вытягиваешь что надо
}

Или использовать стороннюю библиотеку вроде Simple HTML Dom

Answer 2

Альтернативный путь получения кода первого тега img из текста, это использование регулярного выражения

/<img\s[^>]+>/i

и функции preg_match().

READ ALSO
Ошибка в Jquery

Ошибка в Jquery

Какая здесь может быть ошибка в в строке с li draggable? (Как говорит консоль в браузере)

187
Отображение html элементов

Отображение html элементов

Проблема: при просмотре с iPhone на Safari placeholder'ы input'ы в форме съехали внизИзменение/устранение паддингов эффекта дают ровно 0

232
Получение значения из radio btn

Получение значения из radio btn

Есть некая форма с radio

319
Drag and drop карточек в js

Drag and drop карточек в js

Здравствуйте! Хотел написать маленькую карточную игрe, застрял в самом начале: на перетаскивании карт по полюЕсть такой код:

259