duandao7704
2014-02-05 11:37
浏览 370
已采纳

在strpos()声明中转义正斜杠

I have the following code to set a variable, $lang, depending on what directory we are currently in:

$find_lang = $_SERVER['REQUEST_URI'];
if (strpos('$find_lang', '/fr/') !== false) {
    $lang = "fr";
}
else if (strpos('$find_lang', '/de/') !== false) {
    $lang = "de";
}
else {
    $lang = "en";
}
echo $lang;
parse_ini_file($lang . ".ini");

However, echoing $lang always gives me "en", even if I'm in http://example.com/fr/. I believe it's because of the forward slashes around the directory, but I've tried escaping as follows: //fr// and \/fr\/ but neither gives me a different answer.

Any ideas?

图片转代码服务由CSDN问答提供 功能建议

我有以下代码来设置变量 $ lang ,具体取决于目录 我们目前在:

  $ find_lang = $ _SERVER ['REQUEST_URI']; 
if(strpos('$ find_lang','/ fr /')!== false  ){
 $ lang =“fr”; 
} 
else if(strpos('$ find_lang','/ de /')!== false){
 $ lang =“de”; 
} \  nelse {
 $ lang =“en”; 
} 
echo $ lang; 
parse_ini_file($ lang。“。ni”); 
   
 
 

但是, 回显 $ lang 总是给我“en”,即使我在 http:// example 的.com / FR / 。 我相信这是因为目录周围的正斜杠,但我已经尝试转义如下: // fr // \ / fr \ / 但是它们都没有给我 一个不同的答案。

任何想法?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongxiong4571 2014-02-05 11:46
    已采纳
       $find_lang = $_SERVER['REQUEST_URI'];
       if (strpos($find_lang, '/fr/') !== false) {
         $lang = "fr";
       }
       else if (strpos($find_lang, '/de/') !== false) {
          $lang = "de";
       }
       else {
         $lang = "en";
       }
        echo $lang;
       parse_ini_file($lang . ".ini");
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题