Php 使用简单的HTMLDOM从div中提取粗体文本

Php 使用简单的HTMLDOM从div中提取粗体文本,php,html,curl,simple-html-dom,Php,Html,Curl,Simple Html Dom,在一个脚本项目上,我花了4个小时来研究我能做的一切——我的大脑在这件事上已经不起作用了,真的需要你的帮助 所以我有一个PHP cURL脚本,可以从网站获取数据。我能抓到有身份证的div等等。但是,如何从没有任何ID/class/或任何特定内容的DIV中获取特定文本,除了它是DIV中唯一的粗体项这一事实之外 以下是网站上的HTML文本: <div class="firststyle"><label for="calculator" class="class-coll-1">

在一个脚本项目上,我花了4个小时来研究我能做的一切——我的大脑在这件事上已经不起作用了,真的需要你的帮助

所以我有一个PHP cURL脚本,可以从网站获取数据。我能抓到有身份证的div等等。但是,如何从没有任何ID/class/或任何特定内容的DIV中获取特定文本,除了它是DIV中唯一的粗体项这一事实之外

以下是网站上的HTML文本:

<div class="firststyle"><label for="calculator" class="class-coll-1">
                <p class="sr-only">Welcome to the calculator:</p> <b>What is one plus two?</b> </label></div>
然而,这得到了所有的文本,包括我不需要的“欢迎使用计算器”标签

是否有可能将解析后的数据保存到一个变量中,然后使用不同的脚本从该变量中提取数据

或者我可以做一些类似的事情:

查找具有此ID的div->查找其中的粗体文本

或者可能:


查找ID为的div->取出文本“Welcome to calculator”

如果您有网站上的HTML,您可以使用DOMDocument类对其进行解析

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

$dom = new DOMDocument();
$dom->loadHTML($html);
DOMDocument类附带了许多方法。这两个是您需要的
getElementById
getElementsByTagName

大概是这样的:

$html = '<div id="test"><b>I want to be found!</b></div><div id="poep"><b>Im not selected</b></div>';

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

$div = $dom->getElementById('test');
$text = $div->getElementsByTagName('b')->item(0)->nodeValue;

echo $text;

如果您从网站获得HTML,则可以使用DOMDocument类对其进行解析

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

$dom = new DOMDocument();
$dom->loadHTML($html);
DOMDocument类附带了许多方法。这两个是您需要的
getElementById
getElementsByTagName

大概是这样的:

$html = '<div id="test"><b>I want to be found!</b></div><div id="poep"><b>Im not selected</b></div>';

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

$div = $dom->getElementById('test');
$text = $div->getElementsByTagName('b')->item(0)->nodeValue;

echo $text;
echo $html->find('.firststyle b', 0)->innertext;
#=> What is one plus two?