php将中文转换成相应匹配的正则表达式(要求原文本为utf-8编码)

<?php
function getUnicodeReg($word)
{
// 拆分汉字
preg_match_all('#(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+)#s', $word, $array, PREG_PATTERN_ORDER);
$return  = array();
// 转换
foreach ($array[0] as $cc)
{
	$arr = str_split($cc);
	$bin_str = '';
	foreach ($arr as $value)
	{
		$bin_str .= decbin(ord($value));
	}
	$bin_str = preg_replace('/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/','$1$2$3', $bin_str);
	$return[] = '\u' . dechex(bindec($bin_str));
}
$return = '/'.implode('', $return).'/u';
return $return;
}
$word = '甲方乙方';
echo getUnicode($word);
?>

附utf-8编码表:http://www.chi2ko.com/tool/CJK.htm

方法来源于网上搜集跟自己加工,文本出自:http://blog.csdn.net/nancle/article/details/10769537

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值