note 41246 modified in function.htmlentities by danbrown

From: Date: Sun, 17 May 2009 17:07:05 +0000
Subject: note 41246 modified in function.htmlentities by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-154942@lists.php.net to get a copy of this message
I had a problem working with partially html encoded data, with a selection of unescaped ampersands, hex coded, and characters in "&amp;", style. Which ive finally overcome by decoding all of the data, adn then reincoding it all. I found a combination of a couple of peoples work useful. <?php function get_htmlspecialchars( $given, $quote_style = ENT_QUOTES ){ return htmlentities( unhtmlentities( $given ) , $quote_style ); } function unhtmlentities( $string ){ $trans_tbl = get_html_translation_table ( HTML_ENTITIES ); $trans_tbl = array_flip( $trans_tbl ); $ret = strtr( $string, $trans_tbl ); return preg_replace( '/&#(\d+);/me' , "chr('\\1')" , $ret ); } ?> --was-- I had a problem working with partially html encoded data, with a selection of unescaped ampersands, hex coded, and characters in "&amp;", style. Which ive finally overcome by decoding all of the data, adn then reincoding it all. I found a combination of a couple of peoples work useful. function get_htmlspecialchars( $given, $quote_style = ENT_QUOTES ){ return htmlentities( unhtmlentities( $given ) , $quote_style ); } function unhtmlentities( $string ){ $trans_tbl = get_html_translation_table ( HTML_ENTITIES ); $trans_tbl = array_flip( $trans_tbl ); $ret = strtr( $string, $trans_tbl ); return preg_replace( '/&#(\d+);/me' , "chr('\\1')" , $ret ); } http://php.net/manual/en/function.htmlentities.php

« previous php.notes (#154942) next »