根据DOM(具有命名空间等),属性仍然是一个复杂的元素。采用:
//table[php:function('preg_match', '/postd+/', string(@id))]
现在,我们需要一个布尔值返回,所以:
function booleanPregMatch($match,$string){ return preg_match($match,$string)>0;}$xpath->registerPHPFunctions();foreach($xpath->query("//table[@id and php:function('booleanPregMatch', '/postd+/', string(@id))]") as $key => $row){ echo $row->ownerdocument->saveXML($row);}
顺便说一句:对于更复杂的问题,您当然可以偷偷检查一下这是怎么回事:
//table[php:function('var_dump',@id)]
很遗憾,我们没有可用的XPATH 2.0函数,但是如果您能以更不可靠的方式处理此要求
starts-with,我总是更喜欢导入PHP函数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)