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 相关文章推荐
phpmyadmin操作流程
Oct 09 PHP
Http 1.1 Etag 与 Last-Modified提高php效率
Jan 10 PHP
PHP中ADODB类详解
Mar 25 PHP
深入php中var_dump方法的使用详解
Jun 24 PHP
CodeIgniter生成网站sitemap地图的方法
Nov 13 PHP
PHP模拟asp中response类实现方法
Aug 08 PHP
php实现图片上传并利用ImageMagick生成缩略图
Mar 14 PHP
深入解析PHP的Yii框架中的缓存功能
Mar 29 PHP
PHP弱类型的安全问题详细总结
Sep 25 PHP
PHP静态延迟绑定和普通静态效率的对比
Oct 20 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
Mar 29 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
用PHP调用Oracle存储过程的方法
2008/09/12 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
HTML5如何适配 iPhone IOS 底部黑条
2021/03/09 HTML / CSS
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
javascript实现base64 md5 sha1 密码加密
2015/09/09 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
2016/11/30 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
Javascript实现找不同色块的游戏
2017/07/17 Javascript
JS中超越现实的匿名函数用法实例分析
2019/06/21 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
Python基本数据类型详细介绍
2014/03/11 Python
Python入门篇之数字
2014/10/20 Python
python类继承用法实例分析
2015/05/27 Python
Django添加feeds功能的示例
2018/08/07 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
python__name__原理及用法详解
2019/11/02 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
Structs界面控制层技术
2013/10/11 面试题
民主评议政风行风活动心得体会
2014/10/29 职场文书
2015年大学学生会工作总结
2015/05/13 职场文书
停发工资证明范本
2015/06/12 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
《包身工》教学反思
2016/02/23 职场文书
终止合同协议书范本
2016/03/22 职场文书
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python