PHP如何从HTML字符串中提取带data-market-row="price_eur"属性的tr标签
正确实现方案
错误点说明
你使用的tr.data-market-row选择器是CSS中匹配类名的语法,仅能命中class属性包含data-market-row的tr元素,无法匹配自定义data-market-row属性的对应值,因此查询结果为空。
可用代码
Simple HTML DOM库支持属性值匹配选择器,语法为标签名[属性名="属性值"],对应实现如下:
$html = str_get_html($str); $targetList = []; // 遍历所有匹配的tr行 foreach ($html->find('tr[data-market-row="price_eur"]') as $element) { $targetList[] = $element->outertext; } // 如果确认仅存在一条匹配数据,可直接取索引0,无需循环 // $singleTr = $html->find('tr[data-market-row="price_eur"]', 0)->outertext;
内容的提问来源于stack exchange,提问作者Navid Abutorab
相关产品推荐
相关产品推荐

