我正在使用“ PHP Simple HTML DOM Parser”库,并期待根据其文本值(纯文本)查找元素
例如,我需要使用其值“红色”来查找跨度元素。
<span class="color">Red</span>
我期望波纹管代码能正常工作,但似乎它只是替换值而不是搜索值。
$brand = $html->find('span',0)->plaintext='Red';
[我阅读了《手册》,我也尝试查找库代码本身,但未能找到解决方案,请告知我是否缺少某些内容,或者根本无法通过Simple Html DOM Parser进行此操作。
P.S请注意,我知道正则表达式等其他方式。
使用$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;
}
}