PHP - 从每个<div> </div>的字符串中提取属性和文本

时间:2015-03-30 13:07:08

标签: php arrays attributes extract

我有一个字符串$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>提取所有数据属性(此处为iddata-AAAdata-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文档(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 个答案:

答案 0 :(得分:1)

类似的东西:

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