HTML实体符号被用作实现保留字符(reserved characters)或者表达键盘无法输入的一些常用字符。在大多数浏览器中默认的字符集为ISO-8859-1。HTML实体符号我们在网页设计中经常用到。
例如:
因工作需要,编写了一个HTML实体编号与非ASCII字符串相互转换类,代码如下:
HtmlEntitie.class.PHP
rush:PHP;">
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
?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。