分离字符串中的中英文语句

            $string = "67. No one knows . 没有人知道。";
			$s = str_replace("。", ".", $string);
			$s = str_replace(".", ".", $s);
			$s = str_replace("’", "'", $s);
			$s = str_replace(",", ",", $s);
			$s = str_replace("“", '"', $s);
			$s = str_replace("”", '"', $s);
			$s = str_replace(",", ",", $s);
			$len = mb_strlen($s,'UTF-8');

			$j = 0;$k = 0;
			for($i=0;$i<$len;$i++){
				$str = mb_substr($s, $i,1,'UTF-8'); 
				if ($k==0&&preg_match('/[a-zA-Z]/', $str)) { 
					$j = $i;$k=1;
				}
				if (!empty($str)&&preg_match('/[^\x00-\x80]/', $str)) { 
					break; 
				}
			}
			$one['str'] = $s;
			$one['en'] = mb_substr($s, $j,$i-$j,'UTF-8');
			$one['zh'] = str_replace(" ", "", mb_substr($s, $i,$len-$i,'UTF-8'));
			var_dump($one);            

  结果

 

array(3) {
  ["str"]=>
  string(35) "67. No one knows . 没有人知道."
  ["en"]=>
  string(15) "No one knows . "
  ["zh"]=>
  string(16) "没有人知道."
}

  

转载于:https://www.cnblogs.com/xiaozong/p/5211584.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值