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...
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
- 1Xâ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".
- 2Ta sử dụng 2 hàm sau:foreach(): duyệt mảngpreg_replace: tìm và thay thế các âm tiếng Việt từ có dấu thành không dấu.
- 3Ta 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;
}
?> - 4Khi 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: