массивы — извлечение атрибутов и текста из строки для каждого тега & lt; div & gt;

У меня есть строка $value который выглядит так:

'<div id='1' data-AAA='something1' data-BBB='something2'>My</div><div id='5' data-AAA='something5' data-BBB='something6'>Web</div>
...'

В PHP я бы хотел для каждого <div>, извлеките все атрибуты данных (здесь id, data-AAA а также data-BBB), а также текст, а затем поместите их в массив следующим образом:

Array
[0]
ID => 1
data-AAA => something1
data-BBB => something2
text => My
[1]
ID => 5
data-AAA => something5
data-BBB => something6
text => Web

Можно ли извлечь всю эту информацию из строки с помощью цикла? будучи дебютантом, я понятия не имею, как это сделать для строки …

РЕДАКТИРОВАТЬ 1

спасибо DOM doc (http://php.net/manual/en/class.domdocument.php) дано в ответах, я пробовал то и это работает!

        $dom = new DOMDocument;
$dom->loadHTML($value);
foreach ($dom->getElementsByTagName('div') as $ST) {
$valueID = $ST->getAttribute('id');
$valueDataTimeStart = $ST->getAttribute('data-AAA');
$valueDataTimeStart = $ST->getAttribute('data-BBB');
$valueDataTimeEnd = $ST->getAttribute('id');
var_dump($valueID);
var_dump($valueDataTimeStart);
var_dump($valueDataTimeEnd);
}die;

1

Решение

что-то вроде этого :

$dom = new DOMDocument();
$dom->loadHTML($l_sContent);
$l_aDiv = $dom->getElementsByTagName("div");
foreach ($l_aDiv as $l_aOneDiv) {
// search attributes on $l_aOneDiv
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector