Есть примерно такой массив:
$arr = array(
0 => array( 'snapshot' => '<div xmlns="http://www.w3.org/1999/xhtml" id="pages-content"><div class="image"><img src="/2019/12/1.jpg" /></div><div class="image"><img src="/2019/12/11.jpg" /></div></div>'),
1 => array( 'snapshot' => '<div xmlns="http://www.w3.org/1999/xhtml" id="pages-content"><div class="image"><img src="/2019/12/2.jpg" /></div><div class="image"><img src="/2019/12/22.jpg" /></div></div>'),
)
есть функция:
public function getPhotobookImages($snapshot) {
$result = array();
$dom = new DOMDocument;
$dom->loadHTML($snapshot);
$images = $dom->getElementsByTagName('img');
foreach ($images as $image) {
$result[] = $image->getAttribute('src');
}
return $result;
}
хочу получить атрибут src всех тегов img, перебираю массив:
foreach($arr as $a) {
$images[] = $this->getPhotobookImages($a['snapshot'])
}
в итоге получаю ошибки:
Warning: DOMDocument::loadHTML(): ID nwgrip already defined in Entity, line: 1 in (строка где: $dom->loadHTML($snapshot);)
Warning: DOMDocument::loadHTML(): ID negrip already defined in Entity, line: 1 in (строка где: $dom->loadHTML($snapshot);)
Warning: DOMDocument::loadHTML(): ID nwgrip already defined in Entity, line: 1 in (строка где: $dom->loadHTML($snapshot);)
Warning: DOMDocument::loadHTML(): ID negrip already defined in Entity, line: 1 in (строка где: $dom->loadHTML($snapshot);)
Если отправить из массива $arr только одно значение в getPhotobookImages, то все работает, ошибок нет