如何匹配UTF8字符串的中文标点符号 你可以unpack("H6", ","); 来查看逗号的unicode值然后在perl_replace中使用[\uunicode]来匹配 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如,$str = ","; //utf8编码的逗号,也就是说你的编辑器要是utf8,如果不是,你可以iconv$unicode = unpack("H6", ",");//print_r($unicode); /*output : Array( [1] => e)*/ 关于pack/unpack可以参看我写的这篇东西:http://blog.csdn.net/laruence/archive/2008/05/01/2357738.aspx 上面的结果错了,是这个,Array( [1] => efbc8c) 这样做不行因为我是要把所有的unicode中文符号都替换的,所以我需要知道一个范围,不知道unicode的中文标点有没有一个范围可以替换,或者其他的方法 。。你把你能想到的所有的标点符号,写到一个数组$interpunction = array(",", "。", .....);$unicode = array();foreach($interpunction as $v){ $code = unpack("H6", $v); array_push($unicode, $code[1];}然后,正则的pattern就是 $pattern = "[";foreach($unicode as $v){ $pattern .= "\u".$v;}$pattern .= "]";明白? 明白是明白.但这些中文标点未免也太多了- -到google上搜了一圈回来也么发现有人遇到这个问题实在不行的话,也只能用这个方法了 恩,你可以研究下unicode, 看看有什么规律没有。起码也有这个方法垫底么。 既然都会去掉GB2312下的符号的,那选转成GB2312,去掉符号后再转成UTF8; 我试了一下,先转成gb2312处理再转回utf8的方法可行这样也可以,不知道有没有不绕弯子的做法,请高手指点 好象没有什么好办办法如果全部是utf-8还是将中文标点列出来,正则替换或者,你将gb2312的标点转成utf-8,正则替换 本帖最后由 xuzuning 于 2008-07-02 11:43:44 编辑 误人子弟,UTF8采用的是UNICODE代码的扩展,不是GB2312的。 switch的奇怪问题 jpgraph图形的问题---? UTF8页面获取的GET和POST值中的中文都是乱码 困了我很久的乱码问题,请高手们帮忙,不然我要疯了!!! 提取链接正则 请教,怎么能让php页面不去等待system所调用的命令的返回结果? session的问题 想写一个修改数据的函数,大家一起努力,看能不能完善一下这个函数 mysql_font还原大容量数据出错 希望在整个WEB组内置顶!致 Bindows 的中文开发者 如何固定下拉框的行数 分析一段简单的PHP代碼,急
$str = ","; //utf8编码的逗号,也就是说你的编辑器要是utf8,如果不是,你可以iconv
$unicode = unpack("H6", ",");//
print_r($unicode);
/*
output :
Array
(
[1] => e
)
*/
http://blog.csdn.net/laruence/archive/2008/05/01/2357738.aspx
(
[1] => efbc8c
)
因为我是要把所有的unicode中文符号都替换的,所以我需要知道一个范围,不知道unicode的中文标点有没有一个范围可以替换,或者其他的方法
$interpunction = array(",", "。", .....);
$unicode = array();
foreach($interpunction as $v){
$code = unpack("H6", $v);
array_push($unicode, $code[1];
}然后,正则的pattern就是
$pattern = "[";
foreach($unicode as $v){
$pattern .= "\u".$v;
}
$pattern .= "]";明白?
到google上搜了一圈回来也么发现有人遇到这个问题
实在不行的话,也只能用这个方法了
误人子弟,UTF8采用的是UNICODE代码的扩展,不是GB2312的。