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 婆婆高寿祝福语大全简短