我查了解其他答案,但其中没有一个似乎适合我,因为那些回答的人忘记添加评论。我试图从网址中的div获取特定的P值。我有3个案例,但在任何情况下如何才能获得<p>
中的第一个div class="entry-content"
。
案例1
<div class="entry-content">
<div></div>
<div></div>
<p> want to get content here </p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<div></div>
</div>
案例2
<div class="entry-content">
<div></div>
<p> want to get content here </p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<div></div>
</div>
案例3
<div class="entry-content">
<p> want to get content here </p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<div></div>
</div>
.PHP
$html = file_get_contents('http://www.myurl.com/');
$doc = new DOMDocument();
@$doc->loadHTML($html);
$p=$doc->getElementByClassName('entry-content')->getElementsByTagName('p')->item(0);
echo $p->nodeValue;
答案 0 :(得分:2)
您可以使用PHP's DOMXPath class选择带有类的元素。 PHP's DOMDocument class没有getElementsByClassName
方法。
<?php
$html = file_get_contents('http://www.myurl.com/');
$doc = new DOMDocument;
$doc->loadHTML($html);
$finder = new DomXPath($doc);
$p = $finder->query("//*[contains(@class, 'entry-content')]")->item(0)->getElementsByTagName('p')->item(0);
echo $p->nodeValue;
?>
答案 1 :(得分:0)
使用jquery很容易:
var firstP = $('.entry-content p:first');
但是你的代码看起来像php,所以我有点困惑你要归档什么。