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 相关文章推荐
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
PHP clearstatcache()函数详解
Mar 02 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
Aug 05 PHP
使用NetBeans + Xdebug调试PHP程序的方法
Apr 12 PHP
PHP序列号生成函数和字符串替换函数代码
Jun 07 PHP
详解php的魔术方法__get()和__set()使用介绍
Sep 19 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
Nov 18 PHP
Yii2下session跨域名共存的解决方案
Feb 04 PHP
php头像上传预览实例代码
May 02 PHP
如何直接访问php实例对象中的private属性详解
Oct 12 PHP
Laravel定时任务的每秒执行代码
Oct 22 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
php中AES加密解密的例子小结
2014/02/18 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
Node.js中使用socket创建私聊和公聊聊天室
2015/11/19 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
2015/12/08 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
JS实现JSON.stringify的实例代码讲解
2017/02/07 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
微信小程序排坑指南详解
2018/05/23 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
原生js实现购物车
2020/09/23 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
ECHT官方网站:男女健身服
2020/02/14 全球购物
医院党员公开承诺书
2014/08/30 职场文书
设备收款委托书范本
2014/10/02 职场文书
教师批评与自我批评剖析材料
2014/10/16 职场文书
发展党员工作情况汇报
2014/10/28 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
热爱劳动主题班会
2015/08/14 职场文书