【问题标题】:Check if array value contains browser country code检查数组值是否包含浏览器国家代码
【发布时间】:2021-06-14 00:21:40
【问题描述】:

如果德语是浏览器语言之一,我正在尝试显示指向我的登录页面的德语版本的链接,但我遇到的问题是该数组以一个值返回所有语言。如何检查该值是否包含某些字母?这是我正在使用的代码和我看到的返回:

$langarray = array(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,100));
if(in_array('de', $langarray)){
    $showdelink = '<a style="color: #004f5d;" href="/de/">View the DE homepage</a>';
}

我得到以下返回:

Array ( [0] => en-US,en;q=0.9,de;q=0.8 )

所以我遇到的问题是该值不是专门的“de”,而是包含“de”,所以链接没有显示。如何检查“de”是否与返回值一致。谢谢

【问题讨论】:

    标签: php http-accept-language


    【解决方案1】:

    你可以使用strpos,作为

    if(strpos($langarray[0], "de") !== false) {
        $showdelink = '<a style="color: #004f5d;" href="/de/">View the DE homepage</a>';
    }
    

    【讨论】:

    • 谢谢!效果很好,当问题足够大可以接受答案时,我会在 2 分钟内接受这是正确的解决方案,我真的很感激
    猜你喜欢
    • 1970-01-01
    • 2011-03-08
    • 2018-06-21
    • 2019-08-10
    • 1970-01-01
    • 2021-01-13
    • 2015-01-01
    • 2021-07-15
    • 1970-01-01
    相关资源
    最近更新 更多