09/10/2018, 22:37

giúp mình xữ lý chuỗi trong php

Mình mới học qua php, bạn nào biết làm thế nào khi mình nhập vào một chuỗi: diễn đàn tin hoc, qua xữ lý sẽ thành: dien dan tin hoc, tức là bỏ dấu của nó đi
ITbaby viết 00:48 ngày 10/10/2018
Contact PixelArt đi , bữa trước có thấy lão í khoe hàng rồi đó ( nói nhỏ : có xin được thì cho baby luôn nha )
expert viết 00:39 ngày 10/10/2018
Bạn cần lưu ý khi bạn nhập vào web như vậy, bạn nhập vào bảng mã gì. Giả sử bạn nhập vào bảng mã tiếng Việt Unicode, bạn lại chia ra trường hợp mã hoá kiểu chữ gì (charset encoding). Thông thường có hai loại charset là iso-8859-1 hoặc Latin1, và uft-8. Giả sử trang web của bạn đang mã hoá utf-8, như vậy bạn phải viết hàm để chuyển đổi uft-8 về ascii không dấu. Đến đây thì bạn hãy tìm hiểu tiếp.
satthuhuydiet viết 00:53 ngày 10/10/2018
NGhiên cứu cái này đê
Mẹ Diễn đàn không cho post quá kí tự nên trích đoạn thôi vậy là đủ nghiên cứu rồi
PHP Code:
function convertSymbolsToEntities($string)
    {
        static 
$symbols 
            array(
                
'‚''ƒ''„''…''†''‡''ˆ''‰''Š''‹''Œ''‘''’''“''”'
                
'•''–''—''˜''™''š''›''œ''Ÿ''€''Æ''Á''Â''À''Å'
                
'Ã''Ä''Ç''Ð''É''Ê''È''Ë''Í''Î''Ì''Ï''Ñ''Ó''Ô'
                
'Ò''Ø''Õ''Ö''Þ''Ú''Û''Ù''Ü''Ý''á''â''æ''à''å'
                
'ã''ä''ç''é''ê''è''ð''ë''í''î''ì''ï''ñ''ó''ô'
                
'ò''ø''õ''ö''ß''þ''ú''û''ù''ü''ý''ÿ''¡''£''¤'
                
'¥''¦''§''¨''©''ª''«''¬''­''®''¯''°''±''²''³'
                
'´''µ''¶''·''¸''¹''º''»''¼''½''¾''¿''×''÷''¢'
                
'…''µ');
        static 
$entities 
            array(
                
'***8218;',  '***402;',   '***8222;',  '***8230;',  '***8224;',  '***8225;',  '***710;'
                
'***8240;',  '***352;',   '***8249;',  '***338;',   '***8216;',  '***8217;',  '***8220;'
                
'***8221;',  '***8226;',  '***8211;',  '***8212;',  '***732;',   '***8482;',  '***353;'
                
'***8250;',  '***339;',   '***376;',   '***8364;',  'æ',  'á''â',  
                
'à''å',  'ã''ä',   'ç''ð',    'é'
                
'ê',  'è''ë',   'í''î',  'ì''ï',   
                
'ñ''ó''ô',  'ò''ø''õ''ö',   
                
'þ',  'ú''û',  'ù''ü',   'ý''á'
                
'â',  'æ',  'à''å',  'ã''ä',   'ç'
                
'é''ê',  'è''ð',    'ë',   'í''î',  
                
'ì''ï',   'ñ''ó''ô',  'ò''ø'
                
'õ''ö',   'ß',  'þ',  'ú''û',  'ù'
                
'ü',   'ý''ÿ',   '¡',  '£',  '¤''¥',    
                
'¦''§',   '¨',    '©',   'ª',   '«',  '¬',    
                
'­',    '®',    '¯',   '°',    '±''²',   '³',   
                
'´',  'µ',  '¶',   '·''¸',  '¹',   'º',   
                
'»',  '¼''½''¾''¿''×',  '÷'
                
'¢',   '...',      'µ');

        if (
Strings::validateString($stringfalse)) {
            return 
str_replace($symbols$entities$string);
        } else {
            return 
$string;
        }
    } 
chanhyeu viết 00:45 ngày 10/10/2018
Làm gì mệt thế, code đơn giản thôi mà :P
Code:
//chuyển có dấu thành không dấu
function vietDecode($value)
{
$value = str_replace("."," .",$value);
$value = str_replace("?"," ?",$value);

#---------------------------------a^
$value = str_replace("ấ", "a", $value);
$value = str_replace("ầ", "a", $value);
$value = str_replace("ẩ", "a", $value);
$value = str_replace("ẫ", "a", $value);
$value = str_replace("ậ", "a", $value);
#---------------------------------A^
$value = str_replace("Ấ", "A", $value);
$value = str_replace("Ầ", "A", $value);
$value = str_replace("Ẩ", "A", $value);
$value = str_replace("Ẫ", "A", $value);
$value = str_replace("Ậ", "A", $value);
#---------------------------------a(
$value = str_replace("ắ", "a", $value);
$value = str_replace("ằ", "a", $value);
$value = str_replace("ẳ", "a", $value);
$value = str_replace("ẵ", "a", $value);
$value = str_replace("ặ", "a", $value);
#---------------------------------A(
$value = str_replace("Ắ", "A", $value);
$value = str_replace("Ằ", "A", $value);
$value = str_replace("Ẳ", "A", $value);
$value = str_replace("Ẵ", "A", $value);
$value = str_replace("Ặ", "A", $value);
#---------------------------------a
$value = str_replace("á", "a", $value);
$value = str_replace("à", "a", $value);
$value = str_replace("ả", "a", $value);
$value = str_replace("ã", "a", $value);
$value = str_replace("ạ", "a", $value);
$value = str_replace("â", "a", $value);
$value = str_replace("ă", "a", $value);
#---------------------------------A
$value = str_replace("Á", "A", $value);
$value = str_replace("À", "A", $value);
$value = str_replace("Ả", "A", $value);
$value = str_replace("Ã", "A", $value);
$value = str_replace("Ạ", "A", $value);
$value = str_replace("Â", "A", $value);
$value = str_replace("Ă", "A", $value);
#---------------------------------e^
$value = str_replace("ế", "e", $value);
$value = str_replace("ề", "e", $value);
$value = str_replace("ể", "e", $value);
$value = str_replace("ễ", "e", $value);
$value = str_replace("ệ", "e", $value);
#---------------------------------E^
$value = str_replace("Ế", "E", $value);
$value = str_replace("Ề", "E", $value);
$value = str_replace("Ể", "E", $value);
$value = str_replace("Ễ", "E", $value);
$value = str_replace("Ệ", "E", $value);
#---------------------------------e
$value = str_replace("é", "e", $value);
$value = str_replace("è", "e", $value);
$value = str_replace("ẻ", "e", $value);
$value = str_replace("ẽ", "e", $value);
$value = str_replace("ẹ", "e", $value);
$value = str_replace("ê", "e", $value);
#---------------------------------E
$value = str_replace("É", "E", $value);
$value = str_replace("È", "E", $value);
$value = str_replace("Ẻ", "E", $value);
$value = str_replace("Ẽ", "E", $value);
$value = str_replace("Ẹ", "E", $value);
$value = str_replace("Ê", "E", $value);
#---------------------------------i
$value = str_replace("í", "i", $value);
$value = str_replace("ì", "i", $value);
$value = str_replace("ỉ", "i", $value);
$value = str_replace("ĩ", "i", $value);
$value = str_replace("ị", "i", $value);
#---------------------------------I
$value = str_replace("Í", "I", $value);
$value = str_replace("Ì", "I", $value);
$value = str_replace("Ỉ", "I", $value);
$value = str_replace("Ĩ", "I", $value);
$value = str_replace("Ị", "I", $value);
#---------------------------------o^
$value = str_replace("ố", "o", $value);
$value = str_replace("ồ", "o", $value);
$value = str_replace("ổ", "o", $value);
$value = str_replace("ỗ", "o", $value);
$value = str_replace("ộ", "o", $value);
#---------------------------------O^
$value = str_replace("Ố", "O", $value);
$value = str_replace("Ồ", "O", $value);
$value = str_replace("Ổ", "O", $value);
$value = str_replace("Ô", "O", $value);
$value = str_replace("Ộ", "O", $value);
#---------------------------------o*
$value = str_replace("ớ", "o", $value);
$value = str_replace("ờ", "o", $value);
$value = str_replace("ở", "o", $value);
$value = str_replace("ỡ", "o", $value);
$value = str_replace("ợ", "o", $value);
#---------------------------------O*
$value = str_replace("Ớ", "O", $value);
$value = str_replace("Ờ", "O", $value);
$value = str_replace("Ở", "O", $value);
$value = str_replace("Ỡ", "O", $value);
$value = str_replace("Ợ", "O", $value);
#---------------------------------u*
$value = str_replace("ứ", "u", $value);
$value = str_replace("ừ", "u", $value);
$value = str_replace("ử", "u", $value);
$value = str_replace("ữ", "u", $value);
$value = str_replace("ự", "u", $value);
#---------------------------------U*
$value = str_replace("Ứ", "U", $value);
$value = str_replace("Ừ", "U", $value);
$value = str_replace("Ử", "U", $value);
$value = str_replace("Ữ", "U", $value);
$value = str_replace("Ự", "U", $value);
#---------------------------------y
$value = str_replace("ý", "y", $value);
$value = str_replace("ỳ", "y", $value);
$value = str_replace("ỷ", "y", $value);
$value = str_replace("ỹ", "y", $value);
$value = str_replace("ỵ", "y", $value);
#---------------------------------Y
$value = str_replace("Ý", "Y", $value);
$value = str_replace("Ỳ", "Y", $value);
$value = str_replace("Ỷ", "Y", $value);
$value = str_replace("Ỹ", "Y", $value);
$value = str_replace("Ỵ", "Y", $value);
#---------------------------------DD
$value = str_replace("Đ", "D", $value);
$value = str_replace("Đ", "D", $value);
$value = str_replace("đ", "d", $value); #Supplemental

#---------------------------------o
$value = str_replace("ó", "o", $value);
$value = str_replace("ò", "o", $value);
$value = str_replace("ỏ", "o", $value);
$value = str_replace("õ", "o", $value);
$value = str_replace("ọ", "o", $value);
$value = str_replace("ô", "o", $value);
$value = str_replace("ơ", "o", $value);
#---------------------------------O
$value = str_replace("Ó", "O", $value);
$value = str_replace("Ò", "O", $value);
$value = str_replace("Ỏ", "O", $value);
$value = str_replace("Õ", "O", $value);
$value = str_replace("Ọ", "O", $value);
$value = str_replace("Ô", "O", $value);
$value = str_replace("Ơ", "O", $value);
#---------------------------------u
$value = str_replace("ú", "u", $value);
$value = str_replace("ù", "u", $value);
$value = str_replace("ủ", "u", $value);
$value = str_replace("ũ", "u", $value);
$value = str_replace("ụ", "u", $value);
$value = str_replace("ư", "u", $value);
#---------------------------------U
$value = str_replace("Ú", "U", $value);
$value = str_replace("Ù", "U", $value);
$value = str_replace("Ủ", "U", $value);
$value = str_replace("Ũ", "U", $value);
$value = str_replace("Ụ", "U", $value);
$value = str_replace("Ư", "U", $value);
#---------------------------------
$value = str_replace("\r\n","<br>",$value);
$value = str_replace("\\","",$value);

return $value;
}
Demo
Có dấu: http://www.chanhyeu.info/?cy=story&act=view&id=1324
Không dấu: http://www.chanhyeu.info/?cy=story&act=none&id=1324
VIQR: http://www.chanhyeu.info/?cy=story&act=viqr&id=1324
ITbaby viết 00:45 ngày 10/10/2018
Anh chanhyeu giới thiệu thì giới thiệu cho trót luôn đi , có thấy chỗ nào đâu anh cho lại cái link ví dụ giữa 2 cái đi
chanhyeu viết 00:45 ngày 10/10/2018
ủa, link work tốt mà
lmp900 viết 00:49 ngày 10/10/2018
cái này là của người tên là Scripted trong thoiaotrang forum post hồi đó, không biết của ông ta ghi ra hay lấy ở đâu.
nó là cái function, thành ra thí dụ như

$hang_1 = "trái tim ngàn đời";

$hang_2 = vietDecode ($hang_1);

echo $hang_2;
// trai tim ngan doi

thì hàng hai sẽ ra cái chử không có dấu, tui nhớ là vậy

btw, cái ông Scripted ghi là để convert mấy chử Viet qua ASCII character để sort dễ hơn chứ không phải cái này.
chanhyeu viết 00:43 ngày 10/10/2018
Mình mới làm lại chức năng này
Chuyển mã http://chanhyeu.info/?cy=chuyenma
Cũng là chuyến mã nhưng dùng java nhanh hơn, dùng mấy file js mình sưu tầm được của vietuni (Trần Anh Tuấn)
Các bạn xem thử nhá
VD: Khi xem bài viết
http://chanhyeu.info/?cy=story&act=view&id=1316
--> bấm vào link chuyển mã bạn sẽ đươch chuyến sang trang này
http://chanhyeu.info/?cy=chuyenma&id=1316
Sau đó có thể chuyến mã tùy thích hầu hết các font tiếng Việt và không dấu.
Bằng java nên nếu ai muốn thì có thể save về nghiên cứu
Bim viết 00:43 ngày 10/10/2018
hix, quan trọng là cái code của function vietDecode() kìa, chứ cái mớ code đó thì post làm gì.
Bài liên quan
0