php - $dom = 新的 DOMDocument; 显示一行
问题描述
我正在做一个 DOMDocument,我从网站获取信息,我试图获取其中的文本<p> </p>
,代码工作正常,但事实是网站有很多<P>
代码,所以我得到所有信息,我只是想要第一个的信息,<p>
没有<p>
id类所以没有帮助请检查代码并帮助我知道如何只获得第一个<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>
而不是全部。
解决方案
要仅获取第一段元素,您可以这样做:
$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";
推荐阅读
- sendgrid - Sendgrid 将 URL 传递给 href 属性
- html - missing HTML information when using requests.get
- reactjs - too many re-renders. React limits the number of renders to prevent an infinite loop sliders
- python - odoo 域过滤器many2many?
- machine-learning - 将时间序列+静态信息映射到 ML 模型(XGBoost)
- angular - Angular:当两个对象具有相同的值时选择显示不正确的默认值
- ios - 当同时按下两个按钮时,如何进行操作?
- python - 基于groupby一个列值和pandas中另一列的计数创建一个新列?
- solr - solr 结果中查询词的词条位置
- php - 使用 PHP 解析 AWS ALB 公钥时出错