SimpleDom通过纯文本搜索

问题描述 投票:0回答:1

我正在使用“ PHP Simple HTML DOM Parser”库,并期待根据其文本值(纯文本)查找元素

例如,我需要使用其值“红色”来查找跨度元素。

<span class="color">Red</span>

我期望波纹管代码能正常工作,但似乎它只是替换值而不是搜索值。

$brand = $html->find('span',0)->plaintext='Red';

[我阅读了《手册》,我也尝试查找库代码本身,但未能找到解决方案,请告知我是否缺少某些内容,或者根本无法通过Simple Html DOM Parser进行此操作。

P.S请注意,我知道正则表达式等其他方式。

simple-html-dom
1个回答
0
投票

使用$html->find('span', 0)将找到第(N)个跨度,在这种情况下,n为零。

使用$html->find('span',0)->plaintext='Red';将明文设置为Red

如果要查找文本为Red的元素,则可以使用循环,并忽略0以查找所有跨度。

例如,使用innertext代替纯文本:

$spansWithRedText = [];

foreach($html->find('span') as $element) {
    if ($element->innertext === "Red") {
        $spansWithRedText[] = $element;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.