问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PHP中如何过滤掉非汉字字符?

发布网友 发布时间:2022-04-06 02:17

我来回答

4个回答

懂视网 时间:2022-04-06 06:38

php去除标点符号的方法:首先创建一个PHP示例文件;然后通过正则表达式“preg_replace($pattern, ' ', $str);”删除字符串中的中英文标点符号即可。

推荐:《PHP视频教程》

php正则,删除字符串中的中英文标点符号

原理很简单,正则查找字符串,然后替换

英文标点符号,正则中有专用的模式来匹配。中文则需要一一列举

代码:

<?php 
$str = "!@#$%^&*(中'文:;﹑?中'文中'文().,<>|[]'""; 
 
//中文标点
$char = "。、!?:;﹑?"…‘’“”〝〞∕?‖— 〈〉﹞﹝「」??〖〗】【??』『〕〔》《﹐?﹕︰﹔!???﹖﹌﹏﹋'?ˊˋ―﹫︳︴?_ ̄﹢﹦﹤‐??﹟﹩﹠﹪﹡﹨﹍﹉﹎﹊ˇ︵︶︷︸︹︿﹀︺︽︾ˉ﹁﹂﹃﹄︻︼()";
 
$pattern = array(
 "/[[:punct:]]/i", //英文标点符号
 '/['.$char.']/u', //中文标点符号
 '/[ ]{2,}/'
);
$str = preg_replace($pattern, ' ', $str);
echo $str;

热心网友 时间:2022-04-06 03:46

首先需要先把带有中文的字符串进行编码转化,由GB2312编码转化为UTF-8编码。
这样是为了PHP正则表达式可以正确的去匹配
然后通过preg_match_all()函数以及相应的中文匹配正则表达式,把所有的中文匹配出来
最后,把匹配到的中文字符串再转为B2312编码,这样做是为了可以在网页编码为GB2312上正确显示。

例如:
<?php
$str = "ddddvvv(,中文.)dfdsfds字符啊.";

//把GB2312编码转化为 UTF-8编码
$str = mb_convert_encoding($str, 'UTF-8', 'GB2312');

//正则匹配
preg_match_all('/[\x{4e00}-\x{9fff}]+/u', $str, $matches);

//把匹配到的数组连接为字符串
$str = implode('', $matches[0]);

//把UTF-8编码转化为 GB2312编码
$str = mb_convert_encoding($str, 'GB2312', 'UTF-8');

echo $str;
//输出 中文字符啊
?>

热心网友 时间:2022-04-06 05:04

<?php

$str = "a 1b 2b<中文>。xxyy字符";

//转换 GB2312 -> UTF-8
$str = mb_convert_encoding($str, 'UTF-8', 'GB2312');

preg_match_all('/[\x{4e00}-\x{9fff}]+/u', $str, $matches);
$str = join('', $matches[0]);

//转换 UTF-8 -> GB2312
$str = mb_convert_encoding($str, 'GB2312', 'UTF-8');

echo $str; //输出 中文字符

?>

热心网友 时间:2022-04-06 06:39

可用正则表达式:

<?php

$str="abcde我只要汉字abcde";

echo eregi_replace("[^\x80-\xff]","",$str);

?>

//输出“我只要汉字”
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 php只提取文章中文字,不要标点符号,高分急求代码。。。 PHP怎么去掉字符串中的所有逗号,如“123,23,56”变成“1232356” php 怎么去掉字符串两头的引号 PHP通过FOPEN修改制定文件,始终无法创建文件 linux php创建新文件无法写入值 php 创建文件失败,提示无法打开,请高手指教! 在自己的电脑上建立的 IIS,PHP,apache服务器,然后php 的 mkdir 死活不能创建txt文本。 关于PHP可以创建文件但不能写入 php在子目录下无法创建文件夹 2003 server iis6+php 网站无法写入文件 用的fedora操作系统,php无法写入文件,我将改文件权限改为“777”仍然不行,是不是服务器配置出了问题? linux下php fwrite无法写入文件怎么回事呀 PHP下用fopen语句,第一次运行创建了文件,之后再也没反应了,既不能创建也不能修改。怎么办? 【急】php不能写入文件 php问题,我的机器不能创建php文件 EMUI系统手机铃声怎么设置渐变 手机主动播放音乐? EMUI 11怎样修改连接耳机时的铃声? 华为再次宣布:“新系统”升级用户已破亿,华为开发这系统的主要目的是啥? emui9.0有控制中心吗? php如何去除写出的双引号 怎样用正则表达式去除文本中的标点符号 Word 如何去除 标点符号谢谢!!! 怎么下载的php文件打不开啊 php 下载excel文件不能打开 php文件怎么打不开 我下载的PHP文件打不开 php安装包已经下好,但是不能运行,求解答怎么样才能打开php文件? 为什么我下载的文件的后缀名都是PHP,打不开,急死我了 我从网络下载了一个文件是PHP格式的,竟然打不开,请问如何打开PHP格式的文档 本论坛中的PHP格式文件打不开?怎么解决? 360云盘,将里面文件打包下载,下载的文件为何是PHP格式,电脑无法打开怎么办? 我下的种子突然都是download.php文件,无法打开,以前会迅雷自动下载,现在下完以后没反应了 做了一个php上传下载页面 ,上传文件正常,但下载后就打不开了,说已损坏。。怎么回事 请问下载的php文件怎么打开? 请问大神们:网站程序是后缀php,已经做好伪静态,网页打开后缀都是html,在做seo优化时php要屏蔽吗? 网站开启伪静态后真静态不能访问了怎么办? PHP伪静态安装好以后,除首页,其他页面都不能访问 (域名.com&#47;?p=123)能打开, 设置成伪静态后(域名.com&#47;xx.html)打不开? 求高手解答,实在是搞不定了! PHP的问伪静态网站,模板改动无法访问,后退保存无法访问,只有重新覆盖才可以