我正在使用html dom解析器
我有像这样的HTML代码,并希望解析所有LI的第一个UL与蓝色
<html>
<div id="rhy">
<h2 class="text">Text1</h2>
<ul class="blue">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<h2 class="text">Text2</h2>
<ul class="blue">
<li>4</li>
<li class="z">5</li>
<li>6</li>
</ul>
</div>
</html>
我有php代码
$res = "";
foreach($html->find('#rhy -> .blue -> li[!class]') as $element)
{
$res = $res . $element;
}
echo $res;
此代码返回
<li>1</li><li>2</li><li>3</li><li>4</li><li>5</li>
但我想拥有
<li>1</li><li>2</li><li>3</li>
如果有人知道如何解决我的问题,我会很高兴
答案 0 :(得分:0)
你可以做到这一点
<html>
<div id="rhy">
<h2 class="text">Text1</h2>
<ul id ="yourid" class="blue">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<h2 class="text">Text2</h2>
<ul class="blue">
<li>4</li>
<li class="z">5</li>
<li>6</li>
</ul>
</div>
</html>
和你的php
$res = "";
foreach($html->find('#rhy -> #yourid -> li[!class]') as $element)
{
$res = $res . $element;
}
echo $res;
答案 1 :(得分:0)
您只需要ul
个li
个元素。你可以这样做: -
$res = "";
foreach($html->find('.blue->li',0) as $element)
{
$res = $res . $element;
}
echo $res;
输出: - <li>1</li><li>2</li><li>3</li>
答案 2 :(得分:0)
foreach($html->find('ul', 0) as $ul)
{
foreach($ul->find('li') as $li)
{
$ret = $li->find('.blue');
}
}
echo $ret
这应该给你第一个ul的所有li和蓝色类。