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 相关文章推荐
改进的IP计数器
Oct 09 PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 PHP
PHP小教程之实现链表
Jun 09 PHP
PHP实用函数分享之去除多余的0
Feb 06 PHP
php实现修改新闻时删除图片的方法
May 12 PHP
PHP ajax 异步执行不等待执行结果的处理方法
May 27 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
Feb 23 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
Apr 01 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
php readfile()修改文件上传大小设置
Aug 11 PHP
php实现socket推送技术的示例
Dec 20 PHP
PHP针对redis常用操作实例详解
Aug 17 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
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
2015/12/22 PHP
ModelDialog JavaScript模态对话框类代码
2011/04/17 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
JS中双击和单击事件冲突的解决方法
2018/04/09 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
Python堆排序原理与实现方法详解
2018/05/11 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
调试Django时打印SQL语句的日志代码实例
2019/09/12 Python
Python实现快速排序的方法详解
2019/10/25 Python
python中for in的用法详解
2020/04/17 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
简短的公司员工自我评价分享
2013/11/13 职场文书
军训鉴定表自我鉴定
2014/02/13 职场文书
行政专员的岗位职责
2014/03/10 职场文书
承诺书的格式范文
2014/03/28 职场文书
签订劳动合同通知书
2015/04/16 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
2016开学第一课心得体会
2016/01/23 职场文书
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
Python使用openpyxl模块处理Excel文件
2022/06/05 Python