Php 如果URL包含X回显Y,则为elseif URL

Php 如果URL包含X回显Y,则为elseif URL,php,strpos,Php,Strpos,我想根据URL在一个div中回显不同的类。这是一个本地化的wordpress主题,其中div将使用不同的背景,具体取决于您所在的站点 <?php if (strpos($_SERVER['REQUEST_URI'],'/language/no') !== false) { echo 'class="project_decal_no"'; } elseif (strpos($_SERVER['REQUEST_URI'],'/languag

我想根据URL在一个div中回显不同的类。这是一个本地化的wordpress主题,其中div将使用不同的背景,具体取决于您所在的站点

<?php 
    if (strpos($_SERVER['REQUEST_URI'],'/language/no') !== false) 
    {
        echo 'class="project_decal_no"';
    } 
    elseif (strpos($_SERVER['REQUEST_URI'],'/language/en') !== false) 
    {
        echo 'class="project_decal_en"';
    } 
    else 
    {
        echo 'class="project_decal"';
    }
?>


我这样做对吗?如果是主题,你的
/language/en
不可能出现在URL中,它可能只是一个目录路径,不管URL本身如何都会改变。请记住,
$\u SERVER['REQUEST\u URI']
是显示在浏览器地址栏中的文本-因此对于此页面,
strpos($\u SERVER['REQUEST\u URI'],'/questions/12825137')!=false(假)
应该是真的。

它似乎真的不起作用
是不明确的。。这个类基于站点或语言设置的错误是什么?如果是后者,您可能根本不需要PHP。代码执行得很好,请澄清您的失败之处。
$\u SERVER['REQUEST\u URI']
是否包含这些子字符串之一?嗯,在我的测试站点上它对我有效,但当我在live站点上进行更改时,它们都会从else语句中获得贴花。我确实更改了选中的URL:s。如果我的代码中没有失败,那么我猜一定是其他原因!是的,我知道。我的域名是:“www.myproject.com/”,如果是英语,则添加了“language/en”。我也意识到了!==与“not false”相同,因此您可以看到我的贴花具有其正确语言的后缀。无论如何谢谢你!