永发信息网

PHP把一个变量中的中文提取出来,把英文过滤了

答案:2  悬赏:0  手机版
解决时间 2021-04-01 08:53
  • 提问者网友:我是女神我骄傲
  • 2021-03-31 14:05
PHP把一个变量中的中文提取出来,把英文过滤了
最佳答案
  • 五星知识达人网友:千杯敬自由
  • 2021-03-31 14:41
//gb2312的话
preg_match_all("/[".chr(0xa1)."-".chr(0xff)."]+/", $str, $chinese);
echo implode("", $chinese[0]);

//utf-8的话
preg_match_all("/[\x{4e00}-\x{9fa5}]+/u", $str, $chinese);
echo implode("", $chinese[0]);追问为什么两个UTF8的编码过滤的干净,我是GB2312的,过滤不干净追答因为gb2312的过滤会把中文的标点符号(比如。《》)也算作汉字。你可以把$str先iconv()转成utf-8,过滤之后在转回来显示。
全部回答
  • 1楼网友:摆渡翁
  • 2021-03-31 15:00
判断ASCII,如果大于255认为是中文,保留;否则抛弃追问能否打代码发出来?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯