PHP strpos中文查找问题
在用PHPstrpos函数查找字符串包含关系时,一直返回false。
如下2个字符串:
$a='歪麦博客'; $b='博客';
字符串$a是从网页获取的内容,字符串$b是从数据库读取的内容。
用PHP的字符查找函数strpos、stripos、mb_strpos、mb_stripos都没能正确返回。
按理说:
$pos=strpos($a,$b); $pos=mb_strpos($a,$b);
都应该返回数字4,(因为中文是双字节的),但实际都返回false。
其原因是$a字符不是UTF-8字符集,需要转换。
所以,在有中文的场景,保险的做法就是先转换字符,再查找:
$pos=strpos(mb_convert_encoding($a,'utf-8'),mb_convert_encoding($b,'utf-8'));
这样就能正确返回4了。
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短