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