最近公司要求网站的搜索功能增加将关键字过虑所有标点符号(包括中英文标点符号)后再进行数据库的查询操作,心想这还不容易,PHP的强大函数立即体现,PHP就是强大(哈哈,跑题了),一个正则搞定。
例子:
$keyword='阿’凡;提,美。食,城 ';
$keyword=preg_replace("/[~`!@#$%^&*()_+|\=-}{[]":;'?><,./?》《,。、“”:;‘’=—()|…¥·!]+/",'',$keyword);
echo $keyword;
//输出结果:阿凡提美食城
是不是很简单?我也以为是这么简单,但接下来郁闷了。
  某些文字过虑后出现了乱码,例如:海、厅等等,经研究发现,这些中文与某些中文的标点符号的部分编码是相同的,所以过虑后造成文字不完成而乱码。
去掉这些中文标点符号是可以解决问题,但就达不到过虑效果了。
  郁闷了两天,今天一早突发灵感,居然是文字与标点符号编码的某部分相同被过滤了,那么将他们先编码后,用正则完成匹配标点符号的编码才过滤就可以啦。想到就做。
将所有标点符号先编码,每个符号的完整编码用(|)隔开,如下:%7E|%60|%21|%40|%23|%24|%25|%5E|%26|%27|%2A|%28|%29|%2B|%7C|%5C|%3D|\-|_|%5B|%5D|%7D|%7B|%3B|%22|%3A|%3F|%3E|%3C|%2C|\.|%2F|%A3%BF|%A1%B7|%A1%B6|%A1%A2|%A1%A3|%A3%AC|%7D|%A1%B0|%A3%BA|%A3%BB|%A1%AE|%A1%AF|%A1%B1|%A3%FC|%A3%BD|%A1%AA|%A3%A9|%A3%A8|%A1%

php过滤所有英文中文的标点符号代码相关推荐

  1. php 标点符号,php 过滤英文标点符号及过滤中文标点符号代码

    php 过滤英文标点符号及过滤中文标点符号代码 发布于 2014-12-22 20:19:00 | 733 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyper ...

  2. php从一个字符串中过滤掉英文,php过滤只保留中文,英文以及数字的方法

    今天在开发一个关于QQ号登录的功能时,发现获取的QQ号昵称中有的带有一些特殊的字符.而这些带有特殊字符的昵称在其它功能中调用时会发生一些判断错误,所以就写了一个过滤的正规表达式,用来过滤昵称中的特殊字 ...

  3. php去除英文和标点,php 过滤英文标点符号及过滤中文标点符号代码_php技巧

    php 过滤英文标点符号 过滤中文标点符号 代码 function filter_mark($text){ if(trim($text)=='')return ''; $text=preg_repla ...

  4. php 标点符号,php 过滤英文标点符号及过滤中文标点符号代码_PHP教程

    php 过滤英文标点符号 过滤中文标点符号 代码 复制代码 代码如下: function filter_mark($text){ if(trim($text)=='')return ''; $text ...

  5. 正则匹配中文英文字符及标点

    /^([\p{Han}\p{P}A-Za-z0-9])*$/u   其中 \p{Han}表示utf-8编码中的所有中文字符, \p{P}表示中英文标点, A-Z表示大写字母, a-z表示小写英文字母, ...

  6. python将中文标点与 英文全角标点转英文半角

    def C_trans_to_E(str):C_pun = u',.!?[]()<>"'::[]{}&,.?()\%-+ ̄~$#@=_./'E_pun = u',.!?[ ...

  7. js 正则判断是中文,标点,英文符号,数字的 办法

    var a=fenGeString("和的撒恨不得把,.aadad;;..", 1); //returnn 值可自己根据需求编辑 function fenGeString(str, ...

  8. varchar 保存英文中文区别。

    varchar在SQL Server中是采用单字节来存储数据的,中文字符存储到SQL Server中会保存为两个字节,英文字符保存到数据库中,如果字段的类型为varchar,则只会占用一个字节,而如果 ...

  9. PIL库 : 居中对齐写入文本(英文 / 中文)

    英文 文本 的居中对齐 from PIL import Image, ImageDrawW, H = (600,360) msg_english = ''' SECRET LABS AB AND TH ...

最新文章

  1. mac安装brew(亲测有效)
  2. A quick complete tutorial to save and restore Tensorflow models
  3. 页面常见跳转的方法和选择
  4. 【已解决】关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案...
  5. BZOJ 3689: 异或之
  6. JavaScript运算符优先级需要记吗
  7. vscode终端显示中文字符乱码解决
  8. Google Chrome 提示 Adobe Flash Player 不是最新版本
  9. 基于Tasking的连接器文件配置技巧
  10. 【iOS】UI基础Day2-笔记(毛玻璃、帧动画、音效等)
  11. jQuery动画代码详解
  12. 威廉玛丽学院计算机专业好吗,威廉玛丽学院商学院BA专业怎么样?
  13. 2022起重机械指挥考试题库模拟考试平台操作
  14. python科学计数法的显示与转换
  15. 用easynetty进行服务端回签同步确认
  16. 【rmzt:动漫俺修罗酷爱主题】
  17. android 图片热点区域,Android开发之扫描附近wifi热点并列表显示
  18. autojs教程:找图函数
  19. 最全解读 |《数据安全法(草案)》热点解析(上)
  20. 有多少甘特图工具和资源是你熟悉的?

热门文章

  1. 【云原生】阿里云容器镜像服务产品ACR EE之国内外场景应用模拟
  2. 视频教程-SpringBoot2.X版本优惠券实战整合Dubbo+Rocketmq+Redis-其他
  3. matlab图像去散焦,散焦图像的维纳滤波复原及振铃抑制
  4. phpcms模板分解
  5. 挑战10个最难回答的Java面试题(附答案)
  6. service自启动服务设置
  7. 什么是分布式锁?几种分布式锁分别是怎么实现的?
  8. 十个效率的网站推荐(来自B站)
  9. Istio中流量劫持机制
  10. 前端如何实现一张电子发票页面