PHP 简单 HTML DOM 解析器:Select 多个项目
PHP Simple HTML DOM Parser : Select multiple items
这是我的问题,我想使用 HTML DOM 从 HTML 获取文本。
<div class="smalldesc">
<div itemprop="datePublished" class="date">Kamis, 25 Mei 2017 | 14:49 WIB</div>
<div itemprop="author" itemscope itemtype="http://schema.org/Person" class="author">Oleh : <b></b><b>...</b></div>
</div>
我要获取的文字是"Kamis, 25 Mei 2017 | 14:49 WIB"。这是我尝试过的:
$data->find('div[itemprop=datePublished class=date]',0)
和
$data->find('div[itemprop="datePublished" class="date"]',0)
但我仍然得到 null,如何同时 select 两个项目?
尝试这样做
$data->find('.date');
简单 HTML DOM 解析器不向 select 元素提供识别两个或更多属性的功能。也就是说,div[itemprop=datePublished class=date]
被视为 select 或 class 的垃圾。
我根本不推荐这个库,因为它有内置的、性能更好、更简单的解析方法DOM:DOMXPath
。
$dom = new DOMDocument();
$dom->loadHTML($html);
$dox = new DOMXPath($dom);
$dateEl = $dox->query("//div[@itemprop='datePublished'][@class='date']")->item(0);
echo $dateEl->textContent; // Kamis, 25 Mei 2017 | 14:49 WIB
这是我的问题,我想使用 HTML DOM 从 HTML 获取文本。
<div class="smalldesc">
<div itemprop="datePublished" class="date">Kamis, 25 Mei 2017 | 14:49 WIB</div>
<div itemprop="author" itemscope itemtype="http://schema.org/Person" class="author">Oleh : <b></b><b>...</b></div>
</div>
我要获取的文字是"Kamis, 25 Mei 2017 | 14:49 WIB"。这是我尝试过的:
$data->find('div[itemprop=datePublished class=date]',0)
和
$data->find('div[itemprop="datePublished" class="date"]',0)
但我仍然得到 null,如何同时 select 两个项目?
尝试这样做
$data->find('.date');
简单 HTML DOM 解析器不向 select 元素提供识别两个或更多属性的功能。也就是说,div[itemprop=datePublished class=date]
被视为 select 或 class 的垃圾。
我根本不推荐这个库,因为它有内置的、性能更好、更简单的解析方法DOM:DOMXPath
。
$dom = new DOMDocument();
$dom->loadHTML($html);
$dox = new DOMXPath($dom);
$dateEl = $dox->query("//div[@itemprop='datePublished'][@class='date']")->item(0);
echo $dateEl->textContent; // Kamis, 25 Mei 2017 | 14:49 WIB