我有两个具有相同类名的div标签: -
HTML:
<div class='random'>
<div class="name">
<h1>Title 1</h1>
<p>Description</p>
</div>
<div class="name">
<h1>Title 2</h1>
<p>Other Description</p>
</div>
</div>
<div class='random'>
<div class="name">
<h1>Title 2-1</h1>
<p>Description2</p>
</div>
<div class="name">
<h1>Title 2-2</h1>
<p>Other Description2</p>
</div>
</div>
.....
.....
现在我想分别得到两个描述:
需要输出1: -
描述输出2所需: -
其他描述但我的输出:
说明
其他描述
代码:
foreach($html->find('div.name p') as $value)
{
echo $value->innertext;
}
有没有办法让我们只能指定要打印的第一类或第二类?
答案 0 :(得分:2)
头等舱:
$html->find('div.name[1] p')
第二课程:
$html->find('div.name[2] p')
答案 1 :(得分:1)
// Find (N)th anchor, returns element object or null if not found (zero based)
$ret = $html->find('a', 0);
// Find lastest anchor, returns element object or null if not found (zero based)
$ret = $html->find('a', -1);
试试这个。它有帮助!
答案 2 :(得分:0)
PHP Simple HTML DOM Parser Manual
mixed find ( string $selector [, int $index] ) Find children by the CSS selector. Returns the Nth element object if index is set, otherwise, return an array of object.
不要使用循环,而是执行以下操作:
echo "Output 1 desired:-<BR>";
echo $html->find('div.name p', 0) . "<BR>";
echo "Output 1 desired:-<BR>";
echo $html->find('div.name p', 1);
答案 3 :(得分:0)
试试此代码
$count = count($html->find('div.name p'));
for($index=0; $index<$count; $index++)
{
$text = getElementByIndex($html, $index);
echo "output $index : $text";
}
function getElementByIndex($html,$index)
{
return $html->find('div.name p', $index);
}
希望它可以帮助你..
答案 4 :(得分:0)
只需使用此代码
echo $htmlEN->find('.name h1', 0)->innertext;
echo $htmlEN->find('.name p', 0)->innertext;
和
echo $htmlEN->find('.name h1', 1)->innertext;
echo $htmlEN->find('.name p', 1)->innertext;
......