我正试图从我使用php的html代码中获取<li>
标记之间的内容。
我的代码是
<div class="container">
<ul class="inside content">
<li>number 1 </li>
<li>number 2 </li>
<li>number 3 </li>
</ul>
<ul class="outside content">
<li class="different class">number 1 </li>
<li class="different class">number 2 </li>
<li class="different class">number 3 </li>
</ul>
</div>
现在我试图分别获得具有两个<ul>
标签的<li>
标签的内容。有人能帮我解决这个问题吗。
使用DOMDocument-未经测试,但想法是合理的
$strHTML=' <div class="container">
<ul class="inside content">
<li>number 1 </li>
<li>number 2 </li>
<li>number 3 </li>
</ul>
<ul class="outside content">
<li class="different class">number 1 </li>
<li class="different class">number 2 </li>
<li class="different class">number 3 </li>
</ul>
</div>';
$aul1=array();
$aul2=array();
$dom=new DOMDocument;
$dom->loadHTML( $strHTML );/* where $strHTML is the html you wish to parse*/
$col=$dom->getELementsByTagName('li');
foreach( $col as $node ) {
if( $node && $node->parentNode->hasAttribute('class') && $node->parentNode->getAttribute('class')=='inside content' ) $aul1[]=$node->nodeValue;
if( $node && $node->parentNode->hasAttribute('class') && $node->parentNode->getAttribute('class')=='outside content' ) $aul2[]=$node->nodeValue;
}
print_r( $aul1 );
print_r( $aul2 );