如何在SimpleHtmlDom项目中获取无类名的span标签并输出?
解决SimpleHtmlDom获取无类名span标签的问题
嘿,我来帮你搞定这个问题!你之前用的$html->find(".somename",0)->innertext会直接返回整个div里的所有内容,没法精准筛选出你要的无类名span标签。下面给你两种靠谱的实现方法:
方法一:直接获取目标div下的所有span(适合当前场景)
因为你提供的HTML里所有span都没有类名,直接遍历div下的span元素就行:
// 先定位到目标div $targetDiv = $html->find(".somename", 0); // 遍历div下的每个span标签 foreach ($targetDiv->find("span") as $span) { // 输出每个span的文本内容(trim可以去掉多余空格) echo trim($span->innertext) . PHP_EOL; }
方法二:精准筛选无class属性的span(通用场景)
如果之后你的HTML里可能出现带类名的span,想要排除它们,就用属性选择器匹配没有class属性的span:
$targetDiv = $html->find(".somename", 0); // 查找div下没有class属性的span元素 foreach ($targetDiv->find("span[!class]") as $span) { echo trim($span->innertext) . PHP_EOL; }
这里用到了SimpleHtmlDom支持的类CSS选择器语法,span[!class]就是专门匹配没有class属性的span元素,完美贴合你的需求~
内容的提问来源于stack exchange,提问作者shevo ac
相关产品推荐
相关产品推荐

