如何只用curl打印一个标签

时间:2018-01-14 14:38:17

标签: php curl domdocument

我的网络中有2个或3个标记<p>,但我只想打印第一个和第二个<p>

我怎么能这样做?

这里是我的代码

<?php
$url = "http://www.web.org/dorama/1401143633/momikeshite-fuyu--wagaya-no-mondai-nakatta-koto-ni";
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$html = curl_exec($ch);
curl_close($ch);
$dom = new DOMDocument();
@$dom->loadHTML($html);

foreach($dom->getElementsByTagName('p') as $link) {
        echo $dom->saveXML( $link);
}
?>

1 个答案:

答案 0 :(得分:1)

当您使用getElementsByTagName()时,您将获得一个节点列表(DOMNodeList),您当前使用它foreach()来迭代所有节点。如果你只想要第一个,你可以使用item()来获取你想要的特定的一个(在这种情况下为0)......

echo $dom->saveXML( $dom->getElementsByTagName('p')->item(0) );