使用php进行dom解析不区分大小写

使用php进行dom解析不区分大小写,php,html-parsing,domxpath,Php,Html Parsing,Domxpath,我正在用php中的domxpath解析html,并从网页中提取描述。但我面临的问题是,它区分大小写,如果用不同的大小写,就会给出错误。这是我的密码: $d=new DOMDocument(); $d->loadHTML($source); $domx = new DOMXPath($d); $description=$domx->query("//meta[@name='description']")->item(0)->getAttribute('content');

我正在用php中的domxpath解析html,并从网页中提取描述。但我面临的问题是,它区分大小写,如果用不同的大小写,就会给出错误。这是我的密码:

$d=new DOMDocument();
$d->loadHTML($source);
$domx = new DOMXPath($d);
$description=$domx->query("//meta[@name='description']")->item(0)->getAttribute('content');

当所有内容都是小写时,它可以正常工作,但如果在任何其他情况下写入任何内容,则会出现错误。是否有任何标志或东西可以使domxpath不区分大小写

这可能是作弊,但这会有帮助吗

$d=new DOMDocument();
$d->loadHTML(mb_strtolower($source));

这将使所有内容都小写…

这个答案是关于xml的,我对domxpath和解析html数据非常陌生,所以以前没有检查过这个答案。此注释意味着,如果使用
DOMDocument::loadHTML()
,则在xpath表达式中使用小写应该始终有效。你测试过这个吗?@kgb这个评论暗示元素和属性名称不区分大小写,但“description”是meta元素的name属性的值,它区分大小写。我应该说是创新的解决方案,但我必须使用提取的描述,这个解决方案将改变其大小写,所以这不是个好主意。