php中将字符串转为HTML的实体引用的一个类


Posted in PHP onFebruary 03, 2013
class HtmlEncode { 
        static $_convertToHtmlEntitiesSrcEncoding='UTF-8';         /**
         * 将非ASCII字符串转换成HTML实体
         *
         * @example HtmlEncode::encode("我信了"); //输出:我信了
         * @param string $s 要进行编码的字符串
         * @return string 返回HTML实体引用
         */ 
        public static function encode($s,$srcEncoding='UTF-8') { 
            self::$_convertToHtmlEntitiesSrcEncoding=$srcEncoding; 
            return preg_replace_callback('|[^\x00-\x7F]+|',array(__CLASS__,'_convertToHtmlEntities'),$s); 
        } 
        public static function _convertToHtmlEntities($data) { 
            if (is_array($data)) { 
                $chars=str_split(iconv(self::$_convertToHtmlEntitiesSrcEncoding,"UCS-2BE",$data[0]),2); 
                $chars=array_map(array(__CLASS__,__FUNCTION__),$chars); 
                return join("",$chars); 
            } else { 
                $code=hexdec(sprintf("%02s%02s;",dechex(ord($data {0})),dechex(ord($data {1})))); 
                return sprintf("&#%s;",$code); 
            } 
        }      
    }
PHP 相关文章推荐
用PHP实现多级树型菜单
Oct 09 PHP
oracle资料库函式库
Oct 09 PHP
PHP冒泡排序算法代码详细解读
Jul 17 PHP
PHP中将数组转成XML格式的实现代码
Aug 08 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 PHP
php数据库备份还原类分享
Mar 20 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 PHP
PHP二维数组去重算法
Dec 17 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHP实现生成推广海报的方法详解
Mar 14 PHP
thinkPHP框架整合tcpdf插件操作示例
Aug 07 PHP
php处理文件的小例子(解压缩,删除目录)
Feb 03 #PHP
php函数array_merge用法一例(合并同类数组)
Feb 03 #PHP
php存储过程调用实例代码
Feb 03 #PHP
php中导出数据到excel时数字变为科学计数的解决方法
Feb 03 #PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 #PHP
php数组去重的函数代码
Feb 03 #PHP
php中使用临时表查询数据的一个例子
Feb 03 #PHP
You might like
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
基于React+Redux的SSR实现方法
2018/07/03 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
实例讲解React 组件
2020/07/07 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
python3.3实现乘法表示例
2014/02/07 Python
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
Python实现网站注册验证码生成类
2017/06/08 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
气象学专业个人求职信
2014/03/15 职场文书
年终考核实施方案
2014/05/26 职场文书
宣传活动总结范文
2014/07/01 职场文书
2014年检验员工作总结
2014/11/19 职场文书
英语教师个人总结
2015/02/09 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS