您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用正则表达式通过php过滤xpath中的属性

使用正则表达式通过php过滤xpath中的属性

根据DOM(具有命名空间等),属性仍然是一个复杂的元素。采用:

//table[PHP:function('preg_match', '/post\d+/', string(@id))]

现在,我们需要一个布尔值返回,所以:

function booleanPregMatch($match,$string){
    return preg_match($match,$string)>0;
}
$xpath->registerPHPFunctions();
foreach($xpath->query("//table[@id and PHP:function('booleanPregMatch', '/post\d+/', string(@id))]") as $key => $row){
     echo $row->ownerDocument->saveXML($row);
}

顺便说一句:对于更复杂的问题,您当然可以偷偷检查一下这是怎么回事:

//table[PHP:function('var_dump',@id)]

很遗憾,我们没有可用的XPATH 2.0函数,但是如果您能以更不可靠的方式处理此要求starts-with,我总是更喜欢导入PHP函数

php 2022/1/1 18:19:09 有385人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶