PHP正则匹配中文、英文、数字的表达式
- 6869
- PHP
- 1
- super_dodo
- 2017/09/19
在项目应用中需要请求到第三方的接口数据(instagram通过标签tag查内容的接口),当输入空格 @ ¥ $ % ……等等特殊字符的时候就无法返回正式成功的数据。这个时候想到一个折中有损的方案。提交接口请求之前先把相关的特殊字符过滤替换了。
目的是仅保留 英文字母大小写 下划线 中文字符 和数字。
//正则表达式(推荐)
$str = 'Abch!s&h<s()%*中国人#@'; //目标字符串
$new_str = preg_replace("#[^\w|^\u{4E00}-\u{9FA5}]+#is", "", $str); //只剩下中文数字字母下划线
echo $new_str;
echo '<hr>';
//输出结果: Abchshs中国人
//比较笨的方法
$keys = [' ', '!', "'", '"', "‘", "’", '“', '”', '$', '¥', '&', '@', '*',
'(', ')', '<', '>', '{', '}', '[', ']', '【', '】', '?', '~', '·', '`',
'+', '-', '/', '%', ':', ';', '=', '(', ')', '#'
];
$new_str2 = str_replace($keys, '', $str);
echo $new_str2;
//输出结果: Abchshs中国人
//请多多学习 \w \W 参数
//中文字符的匹配
我最大的遗憾就是只能为祖国牺牲一次!
- DoDoBook祝愿大家2015羊眉吐气喜气洋洋
- Yii2的bacthInsert以及MySQL中的INSERT IGNORE INTO 批量
- Yii Framework应用通过UCenter整合discuz(视频)
- Sublime Text3下安装Package Control以及安装Emmet(ZenCode)
- PHP判断远程文件(图片)是否存在的三种方法
- Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]
- MySQL5.7里datetime字段Invalid default value ‘0000-00-00’
- [转]每天一个linux命令(49):ln 命令
- PHP中$_SERVER的说明详解
- [转]每天一个linux命令(12):more命令
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例

