[英]strpos doesn't match a string : characterset issue?
一个strpos
有效取决于所解析的字符串源(手动输入或由第三方机制提供):
index.php?option=com_ars&view=release&id=8
strpos指令是
$debug = "found '?' : " . ((strpos($url, '?') === false) ? 'false' : 'true');
strpos始终返回false。
我尝试了mb_strpos
,尝试了各种en / de-coding都没有用( utf8_encode
, utf8_decode
,甚至使用sprintf
, iconv
,...)。
我最好的提示是,当字符串由第三方机制提供时, convert_uudecode
给出错误
Warning: convert_uudecode(): The given parameter is not a valid uuencoded string
而对于手动输入,它将返回8AX9 | 3“。
我根本不是php专家,但这使我想到了characterset问题。
关于我应该如何进行strpos的任何想法?
首先,我看到一个括号“(”太多了。(您有3个开头的“(”和2个结尾的“)”)。
第二,如果您希望变量$ ok为find的“?”,则为true。 符号,那么您应该使用!==进行测试
$ok = strpos($url, '?') !== false;
现在,如果带引号“?”,则$ ok将为true。 被发现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.