$ dom = новый DOMDocument;показать одну строку - PullRequest
0 голосов
/ 26 июня 2019

Я делаю DOMDocument, где я получаю информацию с веб-сайта, я пытаюсь получить текст внутри <p> </p>, код работает нормально, но дело в том, что на сайте есть много <P> кодов, поэтому я получаю всю информацию, я просто хочу информацию о первом <p>, <p> не имеет идентификаторов классов, поэтому это не поможет, пожалуйста, проверьте код и помогите мне узнать, как получить только первый <p>

$html = file_get_contents('http://example.com');

$dom = new DOMDocument;  
@$dom->loadHTML($html);  

$links = $dom->getElementsByTagName('p'); 

forsearch ($links as $link){  
echo $link->nodeValue; 
echo $link->getAttribute('') , '<br>'; 
$goal = $link->nodeValue;
}

код работает нормально, но он показывает весь текст, мне просто нужен первый <p> не все.

1 Ответ

1 голос
/ 26 июня 2019

Чтобы получить только первый элемент абзаца, вы можете сделать это так:

$doc = new \DOMDocument();
$doc->loadHTML(file_get_contents('http://example.com'));

$paragraphs = $doc->getElementsByTagName('p');
echo "Content of first paragraph: {$paragraphs->item(0)->nodeValue}\n";
...