diff options
Diffstat (limited to 'framework/Web/THttpUtility.php')
-rw-r--r-- | framework/Web/THttpUtility.php | 18 |
1 files changed, 7 insertions, 11 deletions
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);
}
}
|