PDA

View Full Version : [request] Cần tìm class, function convert mã ký tự về tiếng Việt



TheHeTre
06-01-2009, 10:02
Chào mọi người.

Mình cần convert ký tự từ VNEXPRESS về tiếng Việt. Ví dụ:

Đoạn text nguồn

http://uploadanh.com/public/rootImage/1231210402-makytu.gif

Về đoạn text mong muốn
##
Cây hài nổi tiếng của phía Nam vui vẻ 'bật mí' chị vừa tìm thấy tình yêu. Hạnh phúc này khiến nữ diễn viên càng 'máu lửa' trên sân khấu cũng như thêm tươi xinh và rạng rỡ trong đời thường.
##

Chân thành cảm ơn.:punk:

BossFTP
06-01-2009, 11:46
xài preg_replace + chr(ascii_code) :)

[=========> Bổ sung bài viết <=========]

ah mà vào vnexpress có thấy mấy cái ******; đâu?!

TheHeTre
06-01-2009, 11:54
Thanks. Sẽ làm và đưa kết quả.

Về cái ****** thì bạn view source lên thấy liền :D

BossFTP
06-01-2009, 12:50
Ko thấy :( ?! (IE + notepad)

doangia
06-01-2009, 13:17
Cái này không biết có dùng được ko :D



<?php
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;
}
?>


use
html_to_utf8 ($text);

TheHeTre
06-01-2009, 13:24
Chuẩn lắm. Hóa ra trong PHP Manual (with user comment) có sẵn rồi :D
http://vn.php.net/utf8_encode

Cảm ơn @doangia.