note 75942 added to function.utf8-encode
| From: | luka8088 at gmail dot com | Date: | Fri, 22 Jun 2007 14:19:43 +0000 |
| Subject: | note 75942 added to function.utf8-encode | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-127891@lists.php.net to get a copy of this message | ||
simple HTML to UTF-8 conversion:
function html_to_utf8 ($data)
{
return preg_replace("/\\&\\#([0-9]{3,10})\\;/e",
'_html_to_utf8("\\1")', $data);
}
function _html_to_utf8 ($data)
{
if ($data > 127)
{
$i = 5;
while (($i--) > 0)
{
if ($data != ($a = $data % ($p = pow(64, $i))))
{
$ret = chr(base_convert(str_pad(str_repeat(1, $i + 1), 8, "0"), 2, 10) + (($data - $a)
/ $p));
for ($i; $i > 0; $i--)
$ret .= chr(128 + ((($data % pow(64, $i)) - ($data % ($p = pow(64, $i - 1)))) / $p));
break;
}
}
}
else
$ret = "&#$data;";
return $ret;
}
Example:
echo html_to_utf8("a b č ć ž こ に ち
わ ()[]{}!#$?* < >");
Output:
a b Ä Ä Å¾ ã ã« ã¡ ã ()[]{}!#$?* < >
----
Server IP: 193.198.184.18
Probable Submitter: 83.131.206.151
----
Manual Page -- http://www.php.net/manual/en/function.utf8-encode.php
Edit -- https://master.php.net/note/edit/75942
Del: integrated -- https://master.php.net/note/delete/75942/integrated
Del: useless -- https://master.php.net/note/delete/75942/useless
Del: bad code -- https://master.php.net/note/delete/75942/bad+code
Del: spam -- https://master.php.net/note/delete/75942/spam
Del: non-english -- https://master.php.net/note/delete/75942/non-english
Del: in docs -- https://master.php.net/note/delete/75942/in+docs
Del: other reasons-- https://master.php.net/note/delete/75942
Reject -- https://master.php.net/note/reject/75942
Search -- https://master.php.net/manage/user-notes.php