10/10/2018, 09:34

php: Chuyển tiếng việt có dấu thành không dấu

Mình đang gặp vấn đê về tiếng việt, Mình có gắng thử chuyển tiếng việt có dấu thành không dấu mà không được. Có cao thủ nào cao tay giúp mình phát.
Chân thành cám ơn hậu tạ hậu hĩ.
Contact : Chutieudethuong@gmail.com
vnmarser viết 11:37 ngày 10/10/2018
có rất nhiều cách để giải quyết vấn đề này, ở đây tôi đưa ra một cách đơn giản nhất là dùng function str_replace
PHP Code:
//đoạn code này sẽ thay thế tất cả chữ a có dấu như ă, ắ,.. trong
//chuỗi $str thành chữ a (không dấu)
$str"Tôi thích ăn chè";
$a=array(áàãâă);
$bo_daustr_replace($a"a"$str);
//kết quả trả về sẽ là "Tôi thich an chè" 
Tương tự với các chữ cái có dấu khác, bạn làm tương tự. Nếu bạn muốn có đoạn code ngắn gọn hơn để giải quyết vẫn đề này, liên hệ với tôi, 50K thui
chutieudethuong viết 11:35 ngày 10/10/2018
okie
vậy sao trả tiền đây
~guest viết 11:35 ngày 10/10/2018
ngay trên forum này đã có bạn nào đó post 1 function hoàn chỉnh cho vấn đề này, bạn tìm lại sẽ thấy, đỡ đc 50K
mrsinguyenus viết 11:50 ngày 10/10/2018
trên forum này có code về vấn đề đó rồi tìm trước khi hỏi
Về Đâu viết 11:46 ngày 10/10/2018
PHP Code:
<?
$cs="Thật là lắm chuyện";

$marTViet=array("à","á","ạ","ả","ã","â","ầ","ấ","ậ","ẩ","ẫ","ă",
"ằ","ắ","ặ","ẳ","ẵ","è","é","ẹ","ẻ","ẽ","ê","ề"
,"ế","ệ","ể","ễ",
"ì","í","ị","ỉ","ĩ",
"ò","ó","ọ","ỏ","õ","ô","ồ","ố","ộ","ổ","ỗ","ơ"
,"ờ","ớ","ợ","ở","ỡ",
"ù","ú","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ",
"ỳ","ý","ỵ","ỷ","ỹ",
"đ",
"À","Á","Ạ","Ả","Ã","Â","Ầ","Ấ","Ậ","Ẩ","Ẫ","Ă"
,"Ằ","Ắ","Ặ","Ẳ","Ẵ",
"È","É","Ẹ","Ẻ","Ẽ","Ê","Ề","Ế","Ệ","Ể","Ễ",
"Ì","Í","Ị","Ỉ","Ĩ",
"Ò","Ó","Ọ","Ỏ","Õ","Ô","Ồ","Ố","Ộ","Ổ","Ỗ","Ơ"
,"Ờ","Ớ","Ợ","Ở","Ỡ",
"Ù","Ú","Ụ","Ủ","Ũ","Ư","Ừ","Ứ","Ự","Ử","Ữ",
"Ỳ","Ý","Ỵ","Ỷ","Ỹ",
"Đ");

$marKoDau=array("a","a","a","a","a","a","a","a","a","a","a"
,"a","a","a","a","a","a",
"e","e","e","e","e","e","e","e","e","e","e",
"i","i","i","i","i",
"o","o","o","o","o","o","o","o","o","o","o","o"
,"o","o","o","o","o",
"u","u","u","u","u","u","u","u","u","u","u",
"y","y","y","y","y",
"d",
"A","A","A","A","A","A","A","A","A","A","A","A"
,"A","A","A","A","A",
"E","E","E","E","E","E","E","E","E","E","E",
"I","I","I","I","I",
"O","O","O","O","O","O","O","O","O","O","O","O"
,"O","O","O","O","O",
"U","U","U","U","U","U","U","U","U","U","U",
"Y","Y","Y","Y","Y",
"D");
echo str_replace($marTViet,$marKoDau,$cs);
?>
copy and paste from phpbasic.com
cái này thiếu vài ký tự đặc biệt nữa là xong. bạn tự thêm vào luôn đi.
~guest viết 11:43 ngày 10/10/2018
nhớ chú ý khi save file nữa, vì hình như chi work fine khi save theo UTF-8
Darkgamer viết 11:41 ngày 10/10/2018
Cái này cũng đơn giản thôi , ta chỉ việc sử dụng hàm remove_accents là có thể giải quyết rất gọn gàng .
PHP Code:
<?php
function remove_accents$str )
{
   
$str htmlentities($str);
   return 
preg_replace("/&(***91;a-z***93;)***91;a-z***93;+;/i","$1",$str);
}
$str "Nếu bạn muốn có đoạn code ngắn gọn hơn để giải quyết vẫn đề này, liên hệ với tôi, 50K thui";
echo 
remove_accents$str );  
?>
Khi in ra sẽ như thế này (cho phép mình dùng đoạn này làm ví dụ)
Neu ban muon co doan code ngan gon hon de giai quyet van de nay, lien he voi toi, 50K thui
vnmarser viết 11:46 ngày 10/10/2018
hix, ông Darkgamer chặn mất mối làm ăn của tôi, để tôi kiếm 50k rồi anh em đi uống.... trà đá có phải hơn không
Darkgamer viết 11:37 ngày 10/10/2018
Anh em giúp đỡ nhau thôi mà chứ tính tiền bạc làm gì ......
Bài liên quan
0