Cách loại bỏ dấu tiếng Việt với PHP

2:53 AM

Khi bạn cần tìm kiếm không dấu hoặc tạo các URL thân thiện cho website thì việc loại bỏ dấu cho Tiếng Việt khá quan trọng. Bài viết sẽ hướng...


Cách loại bỏ dấu tiếng Việt



Khi bạn cần tìm kiếm không dấu hoặc tạo các URL thân thiện cho website thì việc loại bỏ dấu cho Tiếng Việt khá quan trọng. Bài viết sẽ hướng dẫn các bạn cách thực hiện việc này với ngôn ngữ PHP.



Hướng dẫn

  • 1
    Xây dựng hàm vn_str_filter($str) để loại bỏ dấu tiếng Việt khỏi 1 chuỗi. Khi gọi hàm: vn_str_filter("Hoàng Sa, Trường Sa là của Việt Nam") sẽ được kết quả là "Hoang Sa, Truong Sa la cua Viet Nam".
  • 2
    Ta sử dụng 2 hàm sau:
    foreach(): duyệt mảng
    preg_replace: tìm và thay thế các âm tiếng Việt từ có dấu thành không dấu.
  • 3
    Ta viết hàm vn_str_filter như sau:
    <?php
    function vn_str_filter ($str){
    $unicode = array(
    'a'=>'á|à|ả|ã|ạ|ă|ắ|ặ|ằ|ẳ|ẵ|â|ấ|ầ|ẩ|ẫ|ậ',
    'd'=>'đ',
    'e'=>'é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ',
    'i'=>'í|ì|ỉ|ĩ|ị',
    'o'=>'ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ',
    'u'=>'ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự',
    'y'=>'ý|ỳ|ỷ|ỹ|ỵ',
    'A'=>'Á|À|Ả|Ã|Ạ|Ă|Ắ|Ặ|Ằ|Ẳ|Ẵ|Â|Ấ|Ầ|Ẩ|Ẫ|Ậ',
    'D'=>'Đ',
    'E'=>'É|È|Ẻ|Ẽ|Ẹ|Ê|Ế|Ề|Ể|Ễ|Ệ',
    'I'=>'Í|Ì|Ỉ|Ĩ|Ị',
    'O'=>'Ó|Ò|Ỏ|Õ|Ọ|Ô|Ố|Ồ|Ổ|Ỗ|Ộ|Ơ|Ớ|Ờ|Ở|Ỡ|Ợ',
    'U'=>'Ú|Ù|Ủ|Ũ|Ụ|Ư|Ứ|Ừ|Ử|Ữ|Ự',
    'Y'=>'Ý|Ỳ|Ỷ|Ỹ|Ỵ',
    );

    foreach($unicode as $nonUnicode=>$uni){
    $str = preg_replace("/($uni)/i", $nonUnicode, $str);
    }
    return $str;
    }

    ?>
  • 4
    Khi sử dụng ta gọi:
    <?php
    echo vn_str_filter('Hoàng Sa, Trường Sa là của Việt Nam');
    ?>

No comments: