php實(shí)現(xiàn)HTML實(shí)體編號(hào)與非ASCII字符串相互轉(zhuǎn)換類實(shí)例
HTML實(shí)體符號(hào)被用作實(shí)現(xiàn)保留字符(reserved characters)或者表達(dá)鍵盤無法輸入的一些常用字符。在大多數(shù)瀏覽器中默認(rèn)的字符集為ISO-8859-1。HTML實(shí)體符號(hào)我們?cè)诰W(wǎng)頁設(shè)計(jì)中經(jīng)常用到。
例如:
因工作需要,編寫了一個(gè)HTML實(shí)體編號(hào)與非ASCII字符串相互轉(zhuǎn)換類,代碼如下:
HtmlEntitie.class.PHP
<?php /** * HTML實(shí)體編號(hào)與非ASCII字符串相互轉(zhuǎn)換類 * Date: 2016-09-07 * Author: fdipzone * Ver: 1.0 * * Func: * public encode 字符串轉(zhuǎn)為HTML實(shí)體編號(hào) * public decode HTML實(shí)體編號(hào)轉(zhuǎn)為字符串 * private _convertToHtmlEntities 轉(zhuǎn)換為HTML實(shí)體編號(hào)處理 */ class HtmlEntitie{ // class start public static $_encoding = 'UTF-8'; /** * 字符串轉(zhuǎn)為HTML實(shí)體編號(hào) * @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實(shí)體編號(hào)轉(zhuǎn)為字符串 * @param String $str HTML實(shí)體編號(hào)字符串 * @param String $encoding 編碼 * @return String */ public static function decode($str, $encoding='UTF-8'){ return html_entity_decode($str, null, $encoding); } /** * 轉(zhuǎn)換為HTML實(shí)體編號(hào)處理 * @param Mixed $data 待處理的數(shù)據(jù) * @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 ?>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
如何用phpmyadmin設(shè)置mysql數(shù)據(jù)庫用戶的權(quán)限
發(fā)現(xiàn)有很多用戶對(duì)數(shù)據(jù)庫用戶權(quán)限的設(shè)置不太了解,下面為大家詳細(xì)講解一下如何用 phpMyAdmin 來設(shè)置數(shù)據(jù)庫用戶的權(quán)限2012-01-01php代碼把全角數(shù)字轉(zhuǎn)為半角數(shù)字
這篇文章介紹了php代碼把全角數(shù)字轉(zhuǎn)為半角數(shù)字的方法,涉及php針對(duì)數(shù)組的遍歷、計(jì)算、輸出等簡單操作技巧,需要的朋友可以參考一下2007-12-12php生成EAN_13標(biāo)準(zhǔn)條形碼實(shí)例
2013-11-11Zend Framework教程之Zend_Config_Xml用法分析
這篇文章主要介紹了Zend Framework教程之Zend_Config_Xml用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Zend_Config_Xml的功能,使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03php如何計(jì)算兩坐標(biāo)點(diǎn)之間的距離
這篇文章主要為大家詳細(xì)介紹了php如何計(jì)算兩坐標(biāo)點(diǎn)之間的距離,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12PHP中的數(shù)組分頁實(shí)現(xiàn)(非數(shù)據(jù)庫)實(shí)例講解
這篇文章主要介紹了PHP中的數(shù)組分頁實(shí)現(xiàn)(非數(shù)據(jù)庫)實(shí)例講解,實(shí)例講解的很清楚,有對(duì)這方面有需要的同學(xué)可以借鑒下2021-01-01