From 48a951a9677bc9a56aacad9a920bdaefa0d4c249 Mon Sep 17 00:00:00 2001 From: xue <> Date: Tue, 11 Apr 2006 13:48:08 +0000 Subject: THttpUtility::htmlEncode and htmlDecode now do not deal with & --- framework/Web/THttpUtility.php | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'framework/Web/THttpUtility.php') diff --git a/framework/Web/THttpUtility.php b/framework/Web/THttpUtility.php index 398b3cf3..4cd869b4 100644 --- a/framework/Web/THttpUtility.php +++ b/framework/Web/THttpUtility.php @@ -20,17 +20,20 @@ */ class THttpUtility { - private static $_entityTable=null; + private static $_encodeTable=array('<'=>'<','>'=>'>','"'=>'"e;'); + private static $_decodeTable=array('<'=>'<','>'=>'>','"e;'=>'"'); /** * HTML-encodes a string. - * It is equivalent to {@link htmlspeicalchars} PHP function. + * This method translates the following characters to their corresponding + * HTML entities: <, >, " + * Note, unlike {@link htmlspeicalchars}, & is not translated. * @param string string to be encoded * @return string encoded string */ public static function htmlEncode($s) { - return htmlspecialchars($s); + return strtr($s,self::$_encodeTable); } /** @@ -41,14 +44,7 @@ class THttpUtility */ public static function htmlDecode($s) { - if(!self::$_entityTable) - self::buildEntityTable(); - return strtr($s,self::$_entityTable); - } - - private static function buildEntityTable() - { - self::$_entityTable=array_flip(get_html_translation_table(HTML_ENTITIES,ENT_QUOTES)); + return strtr($s,self::$_decodeTable); } } -- cgit v1.2.3