note 49403 deleted from function.get-html-translation-table by googleguy
| From: | googleguy@php.net | Date: | Tue, 22 Oct 2013 10:14:24 +0000 |
| Subject: | note 49403 deleted from function.get-html-translation-table by googleguy | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-196925@lists.php.net to get a copy of this message | ||
Note Submitter: ryan at ryancannon dot com
----
In XML, you can't assume that the doctype will include the same character entity definitions as
HTML. XML authors may require character references instead. The following two functions use
get_html_translation_table() to encode data in numeric references. The second, optional argument can
be used to substitute a different translation table.
function xmlcharacters($string, $trans='') {
$trans=(is_array($trans))? $trans:get_html_translation_table(HTML_ENTITIES, ENT_QUOTES);
foreach ($trans as $k=>$v)
$trans[$k]= "&#".ord($k).";";
return strtr($string, $trans);
}
function xml_character_decode($string, $trans='') {
$trans=(is_array($trans))? $trans:get_html_translation_table(HTML_ENTITIES, ENT_QUOTES);
foreach ($trans as $k=>$v)
$trans[$k]= "&#".ord($k).";";
$trans=array_flip($trans);
return strtr($string, $trans);
}