PHP如何获取字符串中第一次出现中文字符的位置?

例如:字符串$a="abcd12中456文"问题1:如何获取到“中”字的位置。问题2:如何获取“中456”这几个字字符串中的中文字,不是固定不变的,所以要求不能以“中”字... 例如:字符串 $a="abcd12中456文"
问题1:如何获取到“中”字的位置。
问题2:如何获取“中456”这几个字
字符串中的中文字,不是固定不变的,所以要求不能以“中”字的位置去判断
展开
 我来答
dksnear
2015-06-30 · TA获得超过1211个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:619万
展开全部
$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]);
斌starin
2015-06-30 · TA获得超过140个赞
知道小有建树答主
回答量:162
采纳率:100%
帮助的人:118万
展开全部
$str = "abcd12中456文";
$findLen = strlen($str);
$tmp = stripos($str,"中");
$j=substr($str,$tmp,6);
echo '获取到“中”字的位置:'.$tmp.'<br>获取字符串:'.$j;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangc_8866
2016-01-15 · TA获得超过1277个赞
知道小有建树答主
回答量:2826
采纳率:82%
帮助的人:293万
展开全部
$str="433国RRR张55";
$n=mb_strpos($str,'张');
echo $n;
第一次出现指定字符的位置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
conanmiao
2018-04-02 · TA获得超过747个赞
知道小有建树答主
回答量:172
采纳率:100%
帮助的人:177万
展开全部
$str='asdfa2342asdf阿发34勾搭';
preg_match('/([\x{4e00}-\x{9fa5}]+)/u',$str,$matches,PREG_OFFSET_CAPTURE);
dump($matches[0][1]);//第一个中文出现的位置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式