1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-31 05:50:42 +02:00

- implemented the suggested html_entity_decode function made by david

- fixed string length checking by also decoding entities for the sake of checking
- used the new html_entity_decode function


git-svn-id: file:///svn/phpbb/trunk@6545 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen
2006-11-03 11:26:14 +00:00
parent a3bf1ed63e
commit daa3288a36
22 changed files with 140 additions and 97 deletions

View File

@@ -8,7 +8,7 @@
*
* @todo make sure the replacements are called correctly
* already done: strtolower, strtoupper, ucfirst, str_split, strrpos, strlen (hopefully!), strpos, substr
* remaining: clean_username, htmlentities (no longer needed for internal data?), htmlspecialchars (using charset), html_entity_decode (own function to reverse htmlspecialchars and not htmlentities)
* remaining: clean_username, htmlentities (no longer needed for internal data?), htmlspecialchars (using charset)
* strspn, chr, ord
*/
@@ -929,6 +929,9 @@ function utf8_case_fold($text, $option = 'full')
return $text;
}
/**
* @todo needs documenting
*/
function utf8_clean_string($text)
{
$text = utf8_case_fold($text);
@@ -964,4 +967,44 @@ function utf8_clean_string($text)
return $text;
}
if (version_compare(phpversion(), '5', '>='))
{
/**
* @ignore
*/
function utf8_html_entity_decode($string, $quote_style = ENT_COMPAT)
{
return html_entity_decode($string, $quote_style, 'UTF-8');
}
}
else
{
/**
* @todo needs documenting
*/
function utf8_html_entity_decode($string, $quote_style = ENT_COMPAT)
{
static $static_table;
if ($static_table === null)
{
$static_table = array_map('utf8_encode', array_flip(get_html_translation_table(HTML_ENTITIES)));
}
$modified_table = $static_table;
if ($quote_style === ENT_QUOTES)
{
$modified_table['''] = "'";
}
if ($quote_style === ENT_NOQUOTES)
{
unset($modified_table['"']);
}
return strtr($string, $modified_table);
}
}
?>