div id 第二行的 PHP 捕获值

PHP capture value of second row of div id

提问人:Lima Ads 提问时间:10/13/2023 最后编辑:Lima Ads 更新时间:10/13/2023 访问量:54

问:

当我想使用 curl php 按 ID 捕获值时 捕获第一行 我只需要捕获第二行

这是我的例子:

<div wire:id="y77K2o0hTQAFEdNLTrGR" 
<div wire:id="Em80tXfef2e95jbAWdLS" 

如何捕获第二个值( <div wire:id=“Em80tXfef2e95jbAWdLS” )

我用这个

$id = trim(strip_tags(getStr($page,'<div wire:id="','"')));
PHP HTML 解析

评论

0赞 user3783243 10/13/2023
你是如何捕获第一行的?这是一个片段还是您的标记无效?
0赞 nice_dev 10/13/2023
显示 curl 代码。
0赞 Lima Ads 10/13/2023
$id = trim(strip_tags(getStr($page,'<div wire:id=“','”')));如您所见,只捕获了第一行,但我只需要第二行(<div wire:id=“Em80tXfef2e95jbAWdLS” )
0赞 Lima Ads 10/13/2023
我正在使用 curl 从网站页面获取此信息 div 的 id 相同,但值不同,我需要 div id 内的值,但我无法捕获第二个值
0赞 nice_dev 10/13/2023
@LimaAds 里面有什么?getStr

答:

0赞 Mai Truong 10/13/2023 #1

在阅读您的示例后: https://onlinephp.io/c/594e6

我有几点建议如下:

1,CURLOPT_HEADER的值应为 0。

2,在“创建”文档后,您应该从字符串加载HTML。

<?php


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://example.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
$headers = array();
$headers[] = 'Authority: www.example.com';
$headers[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$page = curl_exec($ch);

$d = new DOMDocument();

$d->loadHTML($page);

for ($i = 0; $i < count($d->getElementsByTagName('div')); $i++) {
    var_dump($d->getElementsByTagName('div')[$i]->getAttribute('id'));
}