带有特殊字符的PHP strop
我尝试使用strpos()检查字符串 这个很好用带有特殊字符的PHP strop,php,special-characters,strpos,Php,Special Characters,Strpos,我尝试使用strpos()检查字符串 这个很好用 if (strpos($a, 'en' ) == true) 但事实并非如此 if (strpos($a, '/en/' ) == true) - Doesn't work 我尝试了很多方法来转义字符或格式化字符串,但似乎我太笨了 问题在于strpos返回位置,如果未找到,则返回FALSE 因此,如果url是/en/something/some,那么您遇到的情况是,en是位置1,任何非零数字都为真 如果执行/en/,则起始位置为0,这是错误的
if (strpos($a, 'en' ) == true)
但事实并非如此
if (strpos($a, '/en/' ) == true) - Doesn't work
我尝试了很多方法来转义字符或格式化字符串,但似乎我太笨了 问题在于
strpos
返回位置,如果未找到,则返回FALSE
因此,如果url是/en/something/some
,那么您遇到的情况是,en是位置1,任何非零数字都为真
如果执行/en/
,则起始位置为0,这是错误的
您需要在最后检查==
,或者更准确地检查==代码>示例
<?php
$a= "/en/blo";
if (strpos($a, '/en/' ) !== false){
echo "TRUE";
} else {
echo "FALSE";
}
在$\u服务器['REQUEST\u URI']
中有什么?它是如何工作的?if语句未通过?它在“”之后包含主页的字符串。它在..之后包含主页的字符串。。我知道!但是您的$\u服务器['REQUEST\u URI']
?strpos()==true
没有意义,因为它返回一个索引:请参阅;您可以使用!==FALSE
相反,就是这样。工作得很好。无法告诉你我是多么感谢你的解决方案和解释。像这样的url如何/jp/home/en/content
,它也会是真的。@MochamadArifin是的,据我所知,他只是在寻找\en'。唯一的问题是在开始时,因为0=false。如果您想检查前4个是否为
/en/`我只需进行substr和验证,或者直接进行检查,确保/en/
的strpos为0。@LukasHwm很乐意提供帮助。不确定你是否可以,但接受答案总是很感激的!
<?php
$a= "/en/blo";
if (strpos($a, '/en/' ) !== false){
echo "TRUE";
} else {
echo "FALSE";
}