PHP如何获取字符串中第一次出现中文字符的位置?
例如:字符串$a="abcd12中456文"问题1:如何获取到“中”字的位置。问题2:如何获取“中456”这几个字字符串中的中文字,不是固定不变的,所以要求不能以“中”字...
例如:字符串 $a="abcd12中456文"
问题1:如何获取到“中”字的位置。
问题2:如何获取“中456”这几个字
字符串中的中文字,不是固定不变的,所以要求不能以“中”字的位置去判断 展开
问题1:如何获取到“中”字的位置。
问题2:如何获取“中456”这几个字
字符串中的中文字,不是固定不变的,所以要求不能以“中”字的位置去判断 展开
4个回答
展开全部
$a='abcd12中456文';
// 获取到“中”字的位置
preg_match('/中/',$a,$matches,PREG_OFFSET_CAPTURE);
print_r($matches[0][1]);
echo "\n";
// 获取“中456”这几个字 (注意只支持utf8编码 其他编码请转utf8再匹配)
preg_match('/[\x{4e00}-\x{9fa5}]\d{3}(?=[\x{4e00}-\x{9fa5}])/u',$a,$matches);
print_r($matches[0]);
展开全部
$str = "abcd12中456文";
$findLen = strlen($str);
$tmp = stripos($str,"中");
$j=substr($str,$tmp,6);
echo '获取到“中”字的位置:'.$tmp.'<br>获取字符串:'.$j;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$str="433国RRR张55";
$n=mb_strpos($str,'张');
echo $n;
第一次出现指定字符的位置。
$n=mb_strpos($str,'张');
echo $n;
第一次出现指定字符的位置。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$str='asdfa2342asdf阿发34勾搭';
preg_match('/([\x{4e00}-\x{9fa5}]+)/u',$str,$matches,PREG_OFFSET_CAPTURE);
dump($matches[0][1]);//第一个中文出现的位置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询