10/10/2018, 09:24

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

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



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.
BossFTP viết 11:37 ngày 10/10/2018
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 viết 11:29 ngày 10/10/2018
Thanks. Sẽ làm và đưa kết quả.

Về cái &#*** thì bạn view source lên thấy liền
BossFTP viết 11:29 ngày 10/10/2018
Ko thấy ?! (IE + notepad)
doangia viết 11:24 ngày 10/10/2018
Cái này không biết có dùng được ko

Code:
<?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 viết 11:36 ngày 10/10/2018
Chuẩn lắm. Hóa ra trong PHP Manual (with user comment) có sẵn rồi
http://vn.php.net/utf8_encode

Cảm ơn @doangia.
Bài liên quan
0