问题
i have 2 or 3 tag <p>
in my web but, im just want to print first and second <p>
.
how i can do that?
here my code
<?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:
When you use getElementsByTagName()
you get a list of nodes ( DOMNodeList ) which you currently use foreach()
to iterate over all of them. If you just want the first, you can use item()
to fetch the particular one you want (0 in this case)...
echo $dom->saveXML( $dom->getElementsByTagName('p')->item(0) );
来源:https://stackoverflow.com/questions/48250675/how-to-print-only-one-tag-with-curl