无法获取substr来识别\字符

时间:2013-11-18 16:05:48

标签: php

我的一些用户使用域名登录系统,因此如果域名为“theHub”,则将hh \ j51289中的类型作为用户名。

用户名以名为username的会话变量结束,但是如果存在,我需要从用户名中删除域名。

我发现substr函数一直工作到\ _字符 - 然后它失败了。我知道它是一个转义字符,但无法弄清楚如何在我的代码中实现它,任何人都可以帮忙吗?

    if(substr(strtoupper($_SESSION['username']), 0, 7 ) === "THEHUB\") 
       { echo "it has found it"; 
         $_SESSION['username'] = str_replace(strtoupper("THEHUB\"", "", $_SESSION['username']));    
       } 
    else 
       { echo "no it has not found it";}

4 个答案:

答案 0 :(得分:2)

你需要用另一个反斜杠来逃避反斜杠。例如:

echo "foo\\bar";

将显示以下内容:

foo\bar

在这种情况下,您似乎想要使用"THEHUB\\"

答案 1 :(得分:0)

使用addslashs来转义字符串。 http://us2.php.net/addslashes

答案 2 :(得分:0)

\将逃脱" \\将逃脱\

答案 3 :(得分:0)

您应该使用另一个反斜杠\来反斜杠\\"THEHUB\\"

(你可以看一下:http://php.net/manual/en/language.types.string.php