php全角字符转换为半角函数


Posted in PHP onFebruary 07, 2014

之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题。最后还是换成下面的字符替换方式了,把目前能找到的所有全角都列出来了一个个替换吧

/** 
* 全角字符转换为半角 
* 
* @param string $str 
* @return string 
*/ 
public function Sbc2Dbc($str) 
{ 
$arr = array( 
'0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4','5'=>'5', '6'=>'6', '7'=>'7', '8'=>'8', '9'=>'9', 
'A'=>'A', 'B'=>'B', 'C'=>'C', 'D'=>'D', 'E'=>'E','F'=>'F', 'G'=>'G', 'H'=>'H', 'I'=>'I', 'J'=>'J', 
'K'=>'K', 'L'=>'L', 'M'=>'M', 'N'=>'N', 'O'=>'O','P'=>'P', 'Q'=>'Q', 'R'=>'R', 'S'=>'S', 'T'=>'T', 
'U'=>'U', 'V'=>'V', 'W'=>'W', 'X'=>'X', 'Y'=>'Y','Z'=>'Z', 'a'=>'a', 'b'=>'b', 'c'=>'c', 'd'=>'d', 
'e'=>'e', 'f'=>'f', 'g'=>'g', 'h'=>'h', 'i'=>'i','j'=>'j', 'k'=>'k', 'l'=>'l', 'm'=>'m', 'n'=>'n', 
'o'=>'o', 'p'=>'p', 'q'=>'q', 'r'=>'r', 's'=>'s', 't'=>'t', 'u'=>'u', 'v'=>'v', 'w'=>'w', 'x'=>'x', 
'y'=>'y', 'z'=>'z', 
'('=>'(', ')'=>')', '〔'=>'(', '〕'=>')', '【'=>'[','】'=>']', '〖'=>'[', '〗'=>']', '“'=>'"', '”'=>'"', 
'‘'=>'\'', '''=>'\'', '{'=>'{', '}'=>'}', '《'=>'<','》'=>'>','%'=>'%', '+'=>'+', '—'=>'-', '-'=>'-', 
'~'=>'~',':'=>':', '。'=>'.', '、'=>',', ','=>',', '、'=>',', ';'=>';', '?'=>'?', '!'=>'!', '…'=>'-', 
'‖'=>'|', '”'=>'"', '''=>'`', '‘'=>'`', '|'=>'|', '〃'=>'"',' '=>' ', '×'=>'*', ' ̄'=>'~', '.'=>'.', '*'=>'*', 
'&'=>'&','<'=>'<', '>'=>'>', '$'=>'$', '@'=>'@', '^'=>'^', '_'=>'_', '"'=>'"', '¥'=>'$', '='=>'=', 
'\'=>'\\', '/'=>'/' 
); 
return strtr($str, $arr); 
}
PHP 相关文章推荐
修改了一个很不错的php验证码(支持中文)
Feb 14 PHP
php 定界符格式引起的错误
May 24 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
win7下memCache的安装过程(具体操作步骤)
Jun 28 PHP
php运行时动态创建函数的方法
Mar 16 PHP
PHP多进程编程实例详解
Jul 19 PHP
PhpStorm本地断点调试的方法步骤
May 21 PHP
PHP Laravel中的Trait使用方法
Jan 20 PHP
PHP递归的三种常用方式
Feb 28 PHP
详解php中curl返回false的解决办法
Mar 18 PHP
详解php反序列化
Jun 10 PHP
基于PHP实现短信验证码发送次数限制
Jul 11 PHP
二进制交叉权限微型php类分享
Feb 07 #PHP
php stripslashes和addslashes的区别
Feb 03 #PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 #PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
Feb 02 #PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
Jan 31 #PHP
分享一个超好用的php header下载函数
Jan 31 #PHP
preg_match_all使用心得分享
Jan 31 #PHP
You might like
PHPMailer安装方法及简单实例
2008/11/25 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
JavaScript的目的分析
2007/01/05 Javascript
ext监听事件方法[初级篇]
2008/04/27 Javascript
js文字滚动停顿效果代码
2008/06/28 Javascript
jquery ready()的几种实现方法小结
2010/06/18 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
2014/03/16 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
js中位运算的运用实例分析
2018/12/11 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
单利模式及python实现方式详解
2018/03/20 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
值得收藏的10道python 面试题
2019/04/15 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
初学者学习Python好还是Java好
2020/05/26 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
Python中过滤字符串列表的方法
2020/12/22 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
数控专业毕业生求职信范文
2013/09/21 职场文书
女大学生毕业找工作的自我评价
2013/10/03 职场文书