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 ?>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。