Php 调用主体类在MSIE中不起作用

Php 调用主体类在MSIE中不起作用,php,wordpress,class,browser,Php,Wordpress,Class,Browser,基于浏览器主体类处理短代码。我设置它的方式可以在除MSIE之外的所有浏览器中使用。这不是完整的条件语句,但我已经将问题隔离到了这里。MSIE无法通过此操作: $classes = get_body_class(); if (in_array('msie',$classes)){ echo 'MSIE'; } 如果您将msie更改为firefox或我的任何其他浏览器类,它将正常工作。但对于MSIE,它不会返回或响应任何内容 具体来说,IE10就是这样。还没有测试到更低。生成的$class

基于浏览器主体类处理短代码。我设置它的方式可以在除MSIE之外的所有浏览器中使用。这不是完整的条件语句,但我已经将问题隔离到了这里。MSIE无法通过此操作:

$classes = get_body_class();
if (in_array('msie',$classes)){
    echo 'MSIE';
}
如果您将msie更改为firefox或我的任何其他浏览器类,它将正常工作。但对于MSIE,它不会返回或响应任何内容

具体来说,IE10就是这样。还没有测试到更低。生成的$classes的vardump,除其他外,这个:string9 msie ie10

在_数组中不进行部分匹配。因此,如果该值为msie ie10,您的代码将找不到它,您需要执行以下操作:

$classes = get_body_class();
if (in_array('msie ie10',$classes)){
    echo 'MSIE';
}
如果要进行部分匹配,另一个选项是使用foreach循环

$classes = get_body_class();
foreach($classes as $class) {
    if(strpos($class,'msie') !== false) {
        echo 'MSIE';
        break;
    }
}

get_body_类包含什么?您正在查看get_body_类的输出中是否包含msie。什么是获得身体类回报?哎呀。我刚刚在我的原始评论中发现了拼写错误-对不起!好吧,请原谅我的无知,当我在IE中查看源代码时,msie是body类之一。我把它放在那里了。但我不知道如何返回get_body_类。我猜您使用的是wordpress函数。此函数不会将浏览器类型添加到应用于body标记的类中。能否将var_dump$类添加到代码中?这将打印出变量$classes的确切内容,以便您可以看到其中的内容。这似乎是我的答案。所以我也会对ie的每个版本做一个条件。