php实现HTML实体编号与非ASCII字符串相互转换类实例

 更新时间:2016年11月02日 16:54:25   作者:傲雪星枫   我要评论
本篇文章主要介绍了"php实现HTML实体编号与非ASCII字符串相互转换类实例",主要涉及到HTML实体编号与非ASCII字符串相互转换类方面的内容,感兴趣的同学可以参考一下。

HTML实体符号被用作实现保留字符(reserved characters)或者表达键盘无法输入的一些常用字符。在大多数浏览器中默认的字符集为ISO-8859-1。HTML实体符号我们在网页设计中经常用到。

例如:


因工作需要,编写了一个HTML实体编号与非ASCII字符串相互转换类,代码如下:

HtmlEntitie.class.PHP

<?php
/**
 * HTML实体编号与非ASCII字符串相互转换类
 * Date: 2016-09-07
 * Author: fdipzone
 * Ver: 1.0
 *
 * Func:
 * public encode 字符串转为HTML实体编号
 * public decode HTML实体编号转为字符串
 * private _convertToHtmlEntities 转换为HTML实体编号处理
 */
class HtmlEntitie{ // class start
 public static $_encoding = 'UTF-8';
 /**
  * 字符串转为HTML实体编号
  * @param String $str  字符串
  * @param String $encoding 编码
  * @return String
  */
 public static function encode($str, $encoding='UTF-8'){
  self::$_encoding = $encoding;
  return preg_replace_callback('|[^\x00-\x7F]+|', array(__CLASS__, '_convertToHtmlEntities'), $str);
 }
 /**
  * HTML实体编号转为字符串
  * @param String $str  HTML实体编号字符串
  * @param String $encoding 编码
  * @return String
  */
 public static function decode($str, $encoding='UTF-8'){
  return html_entity_decode($str, null, $encoding);
 }
 /**
  * 转换为HTML实体编号处理
  * @param Mixed $data 待处理的数据
  * @param String
  */
 private static function _convertToHtmlEntities($data){
  if(is_array($data)){
   $chars = str_split(iconv(self::$_encoding, 'UCS-2BE', $data[0]), 2);
   $chars = array_map(array(__CLASS__, __FUNCTION__), $chars);
   return implode("", $chars);
  }else{
   $code = hexdec(sprintf("%02s%02s;", dechex(ord($data {0})), dechex(ord($data {1})) ));
   return sprintf("&#%s;", $code);
  }
 }
} // class end
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持澳门金沙网上娱乐。

相关文章

  • PHP laravel中的多对多关系实例详解

    PHP laravel中的多对多关系实例详解

    数据表之间是纵横交叉、相互关联的,laravel的一对一,一对多比较好理解,本文重点通过实例给大家讲解 laravel中的多对多关系,感兴趣的朋友一起看看吧
    2017-06-06
  • php ajax confirm 删除实例详解

    php ajax confirm 删除实例详解

    这篇文章主要介绍了php ajax confirm 删除,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 浅谈laravel 5.6 安装 windows上使用composer的安装过程

    浅谈laravel 5.6 安装 windows上使用composer的安装过程

    今天小编就为大家分享一篇浅谈laravel 5.6 安装 windows上使用composer的安装过程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Yii框架Session与Cookie使用方法示例

    Yii框架Session与Cookie使用方法示例

    这篇文章主要介绍了Yii框架Session与Cookie使用方法,结合实例形式分析了Yii框架针对Session与Cookie的设置、获取、删除等相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • 调用WordPress函数文章访问量及PHP原生计数器的实现

    调用WordPress函数文章访问量及PHP原生计数器的实现

    这篇文章主要介绍了调用WordPress函数文章访问量及PHP原生计数器的实现,文中作者也提到了WordPress中的两款插件不过出于性能考虑并不推荐插件方式的实现,需要的朋友可以参考下
    2016-03-03
  • 利用PHP将部分内容用星号替换

    利用PHP将部分内容用星号替换

    这篇文章利用php实现了手机号码隐藏中间几位,身份证号码只显示末尾4位的需求,需要的朋友可以参考下
    2015-07-07
  • PHP多进程编程实例

    PHP多进程编程实例

    这篇文章主要介绍了PHP多进程编程实例,本文讲解的是在Linux下实现PHP多进程编程,需要的朋友可以参考下
    2014-10-10
  • yii框架redis结合php实现秒杀效果(实例代码)

    yii框架redis结合php实现秒杀效果(实例代码)

    这篇文章主要介绍了yii框架redis结合php实现秒杀效果,非常不错,代码简单易懂,需要的朋友可以参考下
    2017-10-10
  • php file_get_contents函数轻松采集html数据

    php file_get_contents函数轻松采集html数据

    PHP手册里是这么解释的:file_get_contents — 将整个文件读入一个字符串,于是可以很容易的获取其他站的信息,再用正则加以变换,再做一些判断和设定,就OK了,不多说了,放代码,我基本都做了解释的。
    2010-04-04
  • typecho插件编写教程(三):保存配置

    typecho插件编写教程(三):保存配置

    这篇文章主要介绍了typecho插件编写教程(三):保存配置,本文讲解了完善方法、如何保存配置、使用需要注意的问题等内容,需要的朋友可以参考下
    2015-05-05

最新评论