PHP把一个变量中的中文提取出来,把英文过滤了 $str="PHP把一个变$^&()_量sfadf中的.;[]];',.中文提取出asdfa,.'']]\[[来,把英文过滤了";像这样的一个内容,把中文提取出来,别的符号和英文全过滤了要怎么过滤掉?只留下四方方的中文,别的全不要 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $chstr="中文简体afeowahgieawhj,:<?>中文繁體"; echo preg_replace(array("/[a-zA-Z0-9]+/","/[[:punct:]]/"), "", $chstr); $chstr="中文简体afeowahgieawhj,:<?>中文繁體"; echo preg_replace(array("/[a-zA-Z0-9]+/","/[[:punct:]]/"), "", $chstr);验证实现了功能 依你的意思,还须过滤掉日文,韩文,拉丁文,阿拉伯文之类的?preg_replace之前还需先mb_convert_encoding()为utf-8,然后加一条正则?preg_match('/\P{Han}+/', $str, $match);//好像不能分辨日语和中文。preg_match('/[\x{4e00}-\x{9fa5}\w-]+/u', $str, $match);//字符range范围不是很了解。前辈,还是你帮忙解决吧。 GB2312$str="PHP把一个变$^&()_量sfadf中的.;[]];',.中文提取出asdfa,.'']]\[[来,把英文过滤了"; preg_match_all("/[".chr(0xa1)."-".chr(0xff)."]+/", $str, $a);echo implode("", $a[0]); $str = '这{}————)——(,jl.ajfklsa,..,{}_+)_)_*()*&^&%$%*(&*……&%……%¥……¥%……》《》?个,例,,子....,.中有fsa{})_<>?&*%&$&$中文哦,我要rskjfoj把fdkjf英文删dskfadiao掉哦,'; preg_match_all('/[\x80-\xff]+/', $str, $arr); //var_dump($arr); echo implode('', $arr[0]);结果:这{}————)——((…………¥……¥……》《》?个,例子中有中文哦,我要把英文删掉哦,用中方输入法输入的符号会保留,用英文输入的符号会删掉。\x00-\x79就是英文和数字,里面的中文和中文符号就会被删掉。和6楼的是一样的, $str="abc一ABC二123三!@#四 繁體[]{}사람은"; echo $str."<br />";$preg = "/[\x{4e00}-\x{9fa5}]+/u";preg_match_all($preg, $str, $a);echo implode("", $a[0]);abc一ABC二123三!@#四 繁體[]{}사람은一二三四繁體 php获取mysql中文后显示乱码,能帮修改一下吗 新手请教 PHP中文文件名下载另存为时文件名显示不正确 问一个PHP调用时产生的IE7和Firefox不兼容的问题。 请问:下面这个几行的小程序为何出错? MYSQL的分组排序关题。 传值传不过来,怎么办?? echo <<<EOD EOD 什么意思? 贴子不能刷新了,gz不能说了,参与分没了,我也快要退出CSDN了……极度不理解中(ipman) 下载次数的统计问题 请问点击自动加数是怎么实现的呀?谢谢源码指教!~ 知道函数方法名怎么检测其所属类名?
echo preg_replace(array("/[a-zA-Z0-9]+/","/[[:punct:]]/"), "", $chstr);
echo preg_replace(array("/[a-zA-Z0-9]+/","/[[:punct:]]/"), "", $chstr);
验证实现了功能
preg_replace之前还需先mb_convert_encoding()为utf-8,然后加一条正则?preg_match('/\P{Han}+/', $str, $match);//好像不能分辨日语和中文。preg_match('/[\x{4e00}-\x{9fa5}\w-]+/u', $str, $match);//字符range范围不是很了解。前辈,还是你帮忙解决吧。
preg_match_all("/[".chr(0xa1)."-".chr(0xff)."]+/", $str, $a);
echo implode("", $a[0]);
preg_match_all('/[\x80-\xff]+/', $str, $arr);
//var_dump($arr);
echo implode('', $arr[0]);
结果:这{}————)——((…………¥……¥……》《》?个,例子中有中文哦,我要把英文删掉哦,用中方输入法输入的符号会保留,用英文输入的符号会删掉。\x00-\x79就是英文和数字,里面的中文和中文符号就会被删掉。
和6楼的是一样的,
$str="abc一ABC二123三!@#四 繁體[]{}사람은";
echo $str."<br />";
$preg = "/[\x{4e00}-\x{9fa5}]+/u";
preg_match_all($preg, $str, $a);
echo implode("", $a[0]);
abc一ABC二123三!@#四 繁體[]{}사람은
一二三四繁體