欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php實現(xiàn)HTML實體編號與非ASCII字符串相互轉(zhuǎn)換類實例

 更新時間:2016年11月02日 16:54:25   作者:傲雪星楓  
本篇文章主要介紹了"php實現(xiàn)HTML實體編號與非ASCII字符串相互轉(zhuǎn)換類實例",主要涉及到HTML實體編號與非ASCII字符串相互轉(zhuǎn)換類方面的內(nèi)容,感興趣的同學(xué)可以參考一下。

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)文章

最新評論