使用 PHP 从网页元素中获取文本
Posted
技术标签:
【中文标题】使用 PHP 从网页元素中获取文本【英文标题】:Get text from an element of a web page with PHP 【发布时间】:2021-03-25 23:34:32 【问题描述】:我有这个错误:DOMDocument 类的对象无法转换为字符串
我正在尝试解析网页以获取 div
中的文本
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($ch);
$dom = new DOMDocument();
$dom->loadHTML($html);
$table = $dom->getElementById('mostra')> textContent; //DOMElement
echo $table;
这是html元素:
<div id="mostra">Hello<img src="file.png"></div>
我想打印你好
我该如何解决?
非常感谢,对不起我的英语
【问题讨论】:
你似乎有一个错字:... )> textContent;
应该是 ...)-> textContent;
- 否则,你的代码应该是 work
【参考方案1】:
function string_between_two_string($str, $starting_word, $ending_word)
$subtring_start = strpos($str, $starting_word);
$subtring_start += strlen($starting_word);
$size = strpos($str, $ending_word, $subtring_start) - $subtring_start;
return substr($str, $subtring_start, $size);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($ch);
$table = string_between_two_string($html, '<div id="mostra">', '<img src="file.png"></div>');
echo $table;
尝试使用此功能在两个元素之间查找文本
【讨论】:
以上是关于使用 PHP 从网页元素中获取文本的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 java selenium 从显示无元素中获取文本
Angularjs中$http.post返回的网页怎么获取某个元素的内容