{"id":14909,"date":"2021-09-17T19:07:15","date_gmt":"2021-09-17T19:07:15","guid":{"rendered":"https:\/\/freehost.page\/?p=14909"},"modified":"2023-11-24T20:15:59","modified_gmt":"2023-11-24T13:15:59","slug":"php-kiem-tra-chinh-ta-v12","status":"publish","type":"post","link":"https:\/\/kiencang.net\/php-kiem-tra-chinh-ta-v12\/","title":{"rendered":"Vi\u1ebft h\u00e0m PHP ki\u1ec3m tra l\u1ed7i ch\u00ednh t\u1ea3 \u0111\u01a1n gi\u1ea3n cho ti\u1ebfng Vi\u1ec7t (v1.2)"},"content":{"rendered":"\n
\u0110\u00e3 c\u00f3 phi\u00ean b\u1ea3n plus c\u1ee7a h\u00e0m ki\u1ec3m tra ch\u00ednh t\u1ea3 ti\u1ebfng Vi\u1ec7t<\/a>, cho \u0111\u1ed9 ch\u00ednh x\u00e1c c\u1ea3i thi\u1ec7n th\u00eam kho\u1ea3ng 20% so v\u1edbi h\u00e0m trong b\u00e0i n\u00e0y.<\/p>\n\n\n\n \u1ee8ng d\u1ee5ng: l\u1ecdc ch\u00ednh t\u1ea3 cho ch\u01b0\u01a1ng tr\u00ecnh ki\u1ec3m tra \u00fd ngh\u0129a t\u00ean: b\u1ea7u.com<\/a><\/p>\n\n\n\n —<\/p>\n\n\n\n Trong b\u00e0i vi\u1ebft n\u00e0y t\u00f4i s\u1ebd tr\u00ecnh b\u00e0y v\u00e0 vi\u1ebft h\u00e0m PHP ph\u00e1t hi\u1ec7n l\u1ed7i ch\u00ednh t\u1ea3 \u1edf m\u1ee9c \u0111\u1ed9 \u0111\u01a1n gi\u1ea3n, d\u00f9 kh\u00f4ng \u0111\u1ea1t k\u1ebft qu\u1ea3 \u1ea5n t\u01b0\u1ee3ng, n\u00f3 v\u1eabn lo\u1ea1i tr\u1eeb \u0111\u01b0\u1ee3c kh\u00e1 nhi\u1ec1u tr\u01b0\u1eddng h\u1ee3p sai l\u1ed7i ch\u00ednh t\u1ea3 \u0111i\u1ec3n h\u00ecnh.<\/p>\n\n\n\n H\u00e0m n\u00e0y c\u1ea7n c\u00f3 c\u00e1c require sau tr\u00ean c\u00f9ng file \u0111\u1ec3 ch\u1ea1y:<\/p>\n\n\n\n Ti\u1ec1n t\u1ed1 c\u1ee7a h\u00e0m l\u00e0 C\u00e1ch d\u00f9ng: <\/p>\n\n\n\n Ph\u1ea7n gi\u1ea3i th\u00edch c\u00e1c c\u00e2u l\u1ec7nh trong h\u00e0m c\u00f3 \u1edf trong m\u00e3, v\u00e0 t\u00f4i c\u00f3 gi\u1ea3i th\u00edch th\u00eam b\u00ean cu\u1ed1i (c\u1eadp nh\u1eadt sau).<\/p>\n\n\n\n C\u00e1c h\u00e0m ki\u1ec3m tra ch\u00ednh t\u1ea3 \u1edf tr\u00ean s\u1eed d\u1ee5ng nguy\u00ean t\u1eafc nguy\u00ean \u00e2m v\u00e0 ph\u1ee5 \u00e2m, v\u1ecb tr\u00ed h\u1ee3p l\u00fd \u0111\u01b0\u1ee3c ph\u00e9p c\u1ee7a ch\u00fang. V\u1ec1 \u0111\u1ed9 ch\u00ednh x\u00e1c n\u00f3 kh\u00f4ng th\u1ec3 b\u1eb1ng \u0111\u01b0\u1ee3c so\u00e1t ch\u1ec9nh t\u1ea3 d\u1ef1a tr\u00ean t\u1eeb \u0111i\u1ec3n c\u00e1c t\u1eeb th\u1ef1c t\u1ebf \u0111\u01b0\u1ee3c d\u00f9ng, tuy nhi\u00ean v\u00ec ch\u01b0a c\u00f3 b\u1ed9 t\u1eeb \u0111i\u1ec3n ch\u00ednh x\u00e1c n\u00ean t\u00f4i t\u1ea1m d\u00f9ng h\u00e0m tr\u00ean \u0111\u1ec3 thao t\u00e1c v\u1edbi m\u1ed9t s\u1ed1 chu\u1ed7i \u0111\u01a1n gi\u1ea3n trong h\u1ecd t\u00ean ng\u01b0\u1eddi.<\/p>\n\n\n\n C\u00e1c h\u00e0m th\u01b0\u1eddng xuy\u00ean s\u1eed d\u1ee5ng m\u1ea3ng nguy\u00ean \u00e2m \u0111\u01a1n, \u0111\u00f4i v\u00e0 ba. Ngo\u00e0i ra l\u00e0 c\u00e1c m\u1ea3ng ph\u1ee5 \u00e2m \u0111\u1ea7u v\u00e0 ph\u1ee5 \u00e2m cu\u1ed1i.<\/p>\n\n\n\n Hai h\u00e0m c\u00f3 s\u1eb5n c\u1ee7a PHP \u0111\u00e1ng ch\u00fa \u00fd m\u00e0 t\u00f4i hay d\u00f9ng trong ph\u1ea7n n\u00e0y l\u00e0:<\/p>\n\n\n\n Gi\u1edd ch\u00fang ta s\u1ebd th\u1eed \u0111i gi\u1ea3i th\u00edch h\u00e0m V\u1ec1 m\u1eb7t th\u1ec3 hi\u1ec7n ra v\u0103n b\u1ea3n ti\u1ebfng Vi\u1ec7t, hi\u1ec7n ch\u00fang ta c\u00f3 26 ph\u1ee5 \u00e2m \u0111\u1ea7u h\u1ee3p l\u1ec7 l\u00e0:<\/p>\n\n\n\n \u0110i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0 c\u00e1c ph\u1ee5 \u00e2m \u0111\u1ea7u kh\u00e1c danh s\u00e1ch tr\u00ean s\u1ebd kh\u00f4ng ph\u1ea3i t\u1eeb ti\u1ebfng Vi\u1ec7t.<\/p>\n\n\n\n Ngo\u00e0i ph\u1ee5 \u00e2m \u0111\u1ea7u th\u00ec c\u00e1c nguy\u00ean \u00e2m \u0111\u01a1n, \u0111\u00f4i, ba c\u0169ng \u0111\u1ee9ng \u0111\u1ea7u \u0111\u01b0\u1ee3c, do \u0111\u00f3 ch\u00fang ta c\u1ea7n l\u1ea5y 3 m\u1ea3ng n\u00e0y v\u00e0o \u0111\u1ec3 ki\u1ec3m tra t\u1ea5t c\u1ea3 c\u00e1c \u00e2m \u0111\u1ea7u kh\u1ea3 d\u0129.<\/p>\n\n\n\n Ti\u1ebfp theo t\u00f4i vi\u1ebft h\u00e0m \u0111\u1ec3 l\u1ea5y c\u00e1c k\u00fd t\u1ef1 \u0111\u1ea7u c\u1ee7a t\u1eeb c\u1ea7n ki\u1ec3m tra, l\u1ea7n l\u01b0\u1ee3t l\u00e0 1, 2, 3 k\u00fd t\u1ef1. V\u00ec \u00e2m \u0111\u1ea7u c\u00f3 t\u1ed1i \u0111a l\u00e0 3 k\u00fd t\u1ef1:<\/p>\n\n\n\n Tr\u01b0\u1edbc ti\u00ean, v\u00ec c\u00e1c nguy\u00ean \u00e2m c\u00f3 kh\u1ea3 n\u0103ng \u0111\u1ee9ng \u0111\u1ea7u t\u1eeb n\u00ean n\u1ebfu c\u00e1c chu\u1ed7i con \u0111\u01b0\u1ee3c t\u00e1ch \u1edf tr\u00ean n\u1eb1m trong c\u00e1c m\u1ea3ng t\u01b0\u01a1ng \u1ee9ng th\u00ec n\u00f3 \u0111\u01b0\u1ee3c coi l\u00e0 kh\u00f4ng sai ch\u00ednh t\u1ea3:<\/p>\n\n\n\n X\u1eed l\u00fd xong v\u1edbi nguy\u00ean \u00e2m, ch\u00fang ta chuy\u1ec3n qua ph\u1ea7n ph\u1ee5 \u00e2m.<\/p>\n\n\n\n V\u00ec b\u1ea3n th\u00e2n ph\u1ee5 \u00e2m kh\u00f4ng t\u1ea1o th\u00e0nh t\u1eeb c\u00f3 ngh\u0129a \u0111\u01b0\u1ee3c, n\u00ean \u0111\u1eb1ng sau n\u00f3 s\u1ebd ph\u1ea3i c\u00f3 nguy\u00ean \u00e2m. Do v\u1eady ch\u00fang ta s\u1ebd x\u00e1c th\u1ef1c \u0111i\u1ec1u \u0111\u00f3 b\u1eb1ng h\u00e0m sau:<\/p>\n\n\n\n N\u1ebfu k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean n\u1eb1m trong m\u1ea3ng ph\u1ee5 \u00e2m h\u1ee3p l\u1ec7, ti\u1ebfp theo ch\u00fang ta s\u1ebd \u0111i l\u1ea5y l\u1ea7n l\u01b0\u1ee3t l\u00e0 1, 2, 3 k\u00fd t\u1ef1 \u0111\u1eb1ng sau k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean v\u00e0 \u0111\u1ed1i chi\u1ebfu n\u00f3 v\u1edbi c\u00e1c m\u1ea3ng nguy\u00ean \u00e2m \u0111\u01a1n, \u0111\u00f4i v\u00e0 ba.<\/p>\n\n\n\n N\u1ebfu m\u1ed9t trong ba \u0111i\u1ec1u ki\u1ec7n th\u1ecfa m\u00e3n, ngh\u0129a l\u00e0 c\u1ea5u tr\u00fac c\u1ee7a n\u00f3 h\u1ee3p l\u1ec7: ph\u1ee5 \u00e2m \u0111\u1ea7u + nguy\u00ean \u00e2m.<\/p>\n\n\n\n T\u01b0\u01a1ng t\u1ef1 nh\u01b0 v\u1eady n\u1ebfu ph\u00e1t hi\u1ec7n ph\u1ee5 \u00e2m \u0111\u1ea7u l\u00e0 2 ch\u1eef c\u00e1i, hay 3 ch\u1eef c\u00e1i. Ch\u1ec9 kh\u00e1c l\u00e0 l\u1ea7n n\u00e0y ch\u00fang ta s\u1ebd l\u1ea5y 1, 2, 3 t\u1eeb sau 2 ho\u1eb7c 3 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean.<\/p>\n\n\n\n H\u00e0m \u0110\u00e3 c\u00f3 phi\u00ean b\u1ea3n plus c\u1ee7a h\u00e0m ki\u1ec3m tra ch\u00ednh t\u1ea3 ti\u1ebfng Vi\u1ec7t, cho \u0111\u1ed9 ch\u00ednh x\u00e1c c\u1ea3i thi\u1ec7n th\u00eam kho\u1ea3ng 20% so v\u1edbi h\u00e0m trong b\u00e0i n\u00e0y. \u1ee8ng d\u1ee5ng: l\u1ecdc ch\u00ednh t\u1ea3 cho ch\u01b0\u01a1ng tr\u00ecnh ki\u1ec3m tra \u00fd ngh\u0129a t\u00ean: b\u1ea7u.com — Trong b\u00e0i vi\u1ebft n\u00e0y t\u00f4i s\u1ebd tr\u00ecnh b\u00e0y v\u00e0 vi\u1ebft h\u00e0m PHP …<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[238,241],"tags":[],"yoast_head":"\n\n
vn<\/code> gi\u1ed1ng v\u1edbi ti\u1ec1n t\u1ed1 chung t\u00f4i d\u00f9ng \u0111\u1ec3 x\u1eed l\u00fd chu\u1ed7i ti\u1ebfng Vi\u1ec7t.<\/p>\n\n\n\n
\n\n\n\nC\u00e1c nguy\u00ean t\u1eafc chung<\/h2>\n\n\n\n
\n
w, j, z, f<\/code> trong t\u1eeb;<\/li>\n\n\n\n
\n\n\n\nM\u00e3 ho\u00e0n ch\u1ec9nh<\/h2>\n\n\n\n
\n
$str<\/code> g\u1ed3m nhi\u1ec1u t\u1eeb, s\u1eed d\u1ee5ng h\u00e0m
vn_simple_spell_big($str)<\/code> <\/li>\n\n\n\n
$str<\/code> ch\u1ec9 bao g\u1ed3m m\u1ed9t t\u1eeb th\u00ec s\u1eed d\u1ee5ng h\u00e0m
vn_simple_spell_small($str)<\/code><\/li>\n<\/ul>\n\n\n\n
<?php\n\n\/* \n * PHP functions to check Vietnamese spelling v1.2\n * MIT License\n * Nguyen Duc Anh - freehost.page\n *\/\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/\/ ch\u1ec9 \u00e1p d\u1ee5ng v\u1edbi m\u1ed9t t\u1eeb\nfunction vn_vowel_next_other($str) { \/\/ ki\u1ec3m tra c\u00e1c nguy\u00ean \u00e2m c\u00f3 \u0111\u1ee9ng c\u1ea1nh nhau hay kh\u00f4ng\n \/\/ ki\u1ec3m tra lu\u00f4n s\u1ed1 l\u01b0\u1ee3ng nguy\u00ean \u00e2m \u0111\u01b0\u1ee3c ph\u00e9p ch\u1ec9 n\u1eb1m trong kho\u1ea3ng t\u1eeb 1 - 3\n $rs = 0; \/\/ m\u1eb7c \u0111\u1ecbnh l\u00e0 kh\u00f4ng \u0111\u1ee9ng c\u1ea1nh nhau\n \/\/ nguy\u00ean \u00e2m c\u00f3 d\u1ea5u (60) v\u00e0 kh\u00f4ng d\u1ea5u (12) g\u1ed3m 72 k\u00fd t\u1ef1 \u0111\u01a1n\n \/\/ c\u1ed9ng m\u1ea3ng c\u00e1c nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u v\u00e0 c\u00f3 d\u1ea5u \u0111\u1ec3 ra m\u1ea3ng nguy\u00ean \u00e2m chung\n $vowel = array_merge(vna_acc_char_array(), vna_vowel_lett());\n $str2 = pop_hex_convert($str); \/\/ chuy\u1ec3n v\u1ec1 d\u1ea1ng m\u00e3 h\u00f3a ph\u1ed5 bi\u1ebfn, k\u00fd t\u1ef1 th\u01b0\u1eddng\n $str3 = preg_split('\/\/u', $str2, -1, PREG_SPLIT_NO_EMPTY); \/\/ t\u00e1ch t\u1eebng k\u00fd t\u1ef1\n \n $j = 0;\n foreach ($str3 as $char) {\n $j++;\n if (in_array($char, $vowel)) {$post_first_vowel = $j; break;} \/\/ ng\u1eaft v\u00f2ng l\u1eb7p, t\u00ecm \u0111\u01b0\u1ee3c v\u1ecb tr\u00ed nguy\u00ean \u00e2m \u0111\u1ea7u ti\u00ean\n }\n \n \/\/ t\u00ednh t\u1ed5ng s\u1ed1 nguy\u00ean \u00e2m, g\u1ed3m c\u1ea3 c\u00f3 d\u1ea5u l\u1eabn kh\u00f4ng d\u1ea5u \n $k = 0;\n $total_number_vowels = vn_num_none_acc_vowel($str2) + vn_num_acc_char($str2);\n \n if ($total_number_vowels == 1 || $total_number_vowels == 0) {$rs = 1;} \/\/ tr\u01b0\u1eddng h\u1ee3p n\u00e0y lu\u00f4n \u0111\u00fang v\u1edbi h\u00e0m ki\u1ec3m tra n\u00e0y\n \n if ($total_number_vowels == 2) { \/\/ t\u1ee9c l\u00e0 c\u00f3 t\u1ed5ng hai nguy\u00ean \u00e2m t\u1ea5t c\u1ea3\n foreach ($str3 as $char2) {\n $k++;\n if (in_array($char2, $vowel)) {$post_two_vowel = $k;} \/\/ t\u00ecm \u0111\u01b0\u1ee3c v\u1ecb tr\u00ed nguy\u00ean \u00e2m cu\u1ed1i c\u00f9ng, t\u1ee9c nguy\u00ean \u00e2m th\u1ee9 2\n }\n \n if ($post_two_vowel == ($post_first_vowel + 1)) {$rs = 1;}\n }\n \n $m = 0;\n if ($total_number_vowels == 3) { \/\/ t\u1ee9c l\u00e0 c\u00f3 t\u1ed5ng ba nguy\u00ean \u00e2m t\u1ea5t c\u1ea3\n foreach ($str3 as $char3) {\n $m++;\n if (in_array($char3, $vowel)) {$post_last_vowel = $m;} \/\/ t\u00ecm \u0111\u01b0\u1ee3c v\u1ecb tr\u00ed nguy\u00ean \u00e2m cu\u1ed1i c\u00f9ng, t\u1ee9c nguy\u00ean \u00e2m th\u1ee9 3\n }\n \n if ($post_last_vowel == ($post_first_vowel + 2)) {$rs = 1;} \/\/ nh\u01b0 th\u1ebf n\u00e0y c\u00f3 ngh\u0129a l\u00e0 3 nguy\u00ean \u00e2m c\u1ea1nh nhau\n }\n\nreturn $rs; \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/\/ ki\u1ec3m tra \u00e2m \u0111\u1ea7u c\u00f3 h\u1ee3p l\u1ec7 kh\u00f4ng\n\/\/ ch\u1ec9 \u00e1p d\u1ee5ng v\u1edbi m\u1ed9t t\u1eeb\nfunction vn_first_sound_check($str){\n $rs = 0; \/\/ gi\u1ea3 \u0111\u1ecbnh sai ch\u00ednh t\u1ea3\n $str2 = vn_remove_accents($str); \/\/ x\u00f3a d\u1ea5u\n $len = vn_num_char($str2); \/\/ l\u1ea5y \u0111\u1ed9 d\u00e0i k\u00fd t\u1ef1\n \n $first_csnt = vna_first_csnt(); \/\/ l\u1ea5y m\u1ea3ng 26 ph\u1ee5 \u00e2m \u0111\u1ea7u h\u1ee3p l\u1ec7\n $first_vow = vna_vowel_lett(); \/\/ c\u00e1c nguy\u00ean \u00e2m \u0111\u01a1n c\u0169ng l\u00e0m \u00e2m \u0111\u1ea7u \u0111\u01b0\u1ee3c\n $diphthongs = vna_diphthongs(); \/\/ nguy\u00ean \u00e2m \u0111\u00f4i c\u00f3 th\u1ec3 l\u00e0m \u00e2m \u0111\u1ea7u\n $triphthongs = vna_triphthongs(); \/\/ nguy\u00ean \u00e2m ba c\u00f3 th\u1ec3 l\u00e0m \u00e2m \u0111\u1ea7u\n \n if($len > 0) {$flett = mb_substr($str2, 0, 1, 'UTF-8');} \/\/ l\u1ea5y 1 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean c\u1ee7a t\u1eeb;\n else {$flett = NULL;} \n \n if($len > 1) {$slett = mb_substr($str2, 0, 2, 'UTF-8');} \/\/ l\u1ea5y 2 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean c\u1ee7a t\u1eeb;\n else {$slett = NULL;}\n \n if($len > 2) {$tlett = mb_substr($str2, 0, 3, 'UTF-8');} \/\/ l\u1ea5y 3 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean c\u1ee7a t\u1eeb;\n else {$tlett = NULL;} \n \n if (in_array($flett, $first_vow)) {$rs = 1;} \/\/ nguy\u00ean \u00e2m \u0111\u01a1n \u0111\u1ea7u t\u1eeb th\u00ec h\u1ee3p l\u1ec7\n if (in_array($slett, $diphthongs)) {$rs = 1;} \/\/ nguy\u00ean \u00e2m \u0111\u00f4i \u0111\u1ea7u t\u1eeb th\u00ec h\u1ee3p l\u1ec7\n if (in_array($tlett, $triphthongs)) {$rs = 1;} \/\/ nguy\u00ean \u00e2m ba \u0111\u1ea7u t\u1eeb th\u00ec h\u1ee3p l\u1ec7\n \n \n \/\/ sau m\u1ed9t ph\u1ee5 \u00e2m \u0111\u1ea7u h\u1ee3p l\u1ec7 th\u00ec ph\u1ea3i l\u00e0 nguy\u00ean \u00e2m\n if (in_array($flett, $first_csnt)) { \/\/ 1 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean kh\u1edbp\n \n if($len > 1) {$vow11 = mb_substr($str2, 1, 1, 'UTF-8');} else {$vow11 = NULL;} \/\/ l\u1ea5y 1 k\u00fd t\u1ef1 sau k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n if($len > 2) {$vow12 = mb_substr($str2, 1, 2, 'UTF-8');} else {$vow12 = NULL;} \/\/ l\u1ea5y 2 k\u00fd t\u1ef1 sau k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n if($len > 3) {$vow13 = mb_substr($str2, 1, 3, 'UTF-8');} else {$vow13 = NULL;} \/\/ l\u1ea5y 3 k\u00fd t\u1ef1 sau k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n \n if (in_array($vow11, $first_vow) || in_array($vow12, $diphthongs) || in_array($vow13, $triphthongs)) {$rs = 1;}\n }\n \n if (in_array($slett, $first_csnt)) { \/\/ 2 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean kh\u1edbp\n if($len > 2) {$vow21 = mb_substr($str2, 2, 1, 'UTF-8');} else {$vow21 = NULL;} \/\/ l\u1ea5y 1 k\u00fd t\u1ef1 sau 2 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n if($len > 3) {$vow22 = mb_substr($str2, 2, 2, 'UTF-8');} else {$vow22 = NULL;} \/\/ l\u1ea5y 2 k\u00fd t\u1ef1 sau 2 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n if($len > 4) {$vow23 = mb_substr($str2, 2, 3, 'UTF-8');} else {$vow23 = NULL;} \/\/ l\u1ea5y 3 k\u00fd t\u1ef1 sau 2 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n \n if (in_array($vow21, $first_vow) || in_array($vow22, $diphthongs) || in_array($vow23, $triphthongs)) {$rs = 1;}\n }\n \n if (in_array($tlett, $first_csnt)) { \/\/ 3 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean kh\u1edbp\n if($len > 3) {$vow31 = mb_substr($str2, 3, 1, 'UTF-8');} else {$vow31 = NULL;} \/\/ l\u1ea5y 1 k\u00fd t\u1ef1 sau 3 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n if($len > 4) {$vow32 = mb_substr($str2, 3, 2, 'UTF-8');} else {$vow32 = NULL;} \/\/ l\u1ea5y 2 k\u00fd t\u1ef1 sau 3 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n if($len > 5) {$vow33 = mb_substr($str2, 3, 3, 'UTF-8');} else {$vow33 = NULL;} \/\/ l\u1ea5y 3 k\u00fd t\u1ef1 sau 3 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n \n if (in_array($vow31, $first_vow) || in_array($vow32, $diphthongs) || in_array($vow33, $triphthongs)) {$rs = 1;}\n }\n\nreturn $rs; \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n \n \n \n\/\/ ki\u1ec3m tra \u00e2m cu\u1ed1i t\u1eeb c\u00f3 h\u1ee3p l\u1ec7 kh\u00f4ng\n\/\/ ch\u1ec9 \u00e1p d\u1ee5ng v\u1edbi m\u1ed9t t\u1eeb\nfunction vn_last_sound_check($str){\n $rs = 0; \/\/ gi\u1ea3 \u0111\u1ecbnh sai ch\u00ednh t\u1ea3\n $str2 = vn_remove_accents($str); \/\/ x\u00f3a d\u1ea5u\n $len = vn_num_char($str2); \/\/ l\u1ea5y \u0111\u1ed9 d\u00e0i k\u00fd t\u1ef1\n \n $last_csnt = vna_last_csnt(); \/\/ l\u1ea5y m\u1ea3ng 8 ph\u1ee5 \u00e2m cu\u1ed1i h\u1ee3p l\u1ec7\n $one_vow = vna_vowel_lett(); \/\/ m\u1ea3ng nguy\u00ean \u00e2m \u0111\u01a1n\n $diphthongs = vna_diphthongs(); \/\/ m\u1ea3ng nguy\u00ean \u00e2m \u0111\u00f4i\n $triphthongs = vna_triphthongs(); \/\/ m\u1ea3ng nguy\u00ean \u00e2m ba\n \n if($len > 0) {$lflett = mb_substr($str2, -1);} \/\/ l\u1ea5y 1 k\u00fd t\u1ef1 cu\u1ed1i c\u1ee7a t\u1eeb;\n else {$lflett = NULL;} \n \n if($len > 1) {$lslett = mb_substr($str2, -2);} \/\/ l\u1ea5y 2 k\u00fd t\u1ef1 cu\u1ed1i c\u1ee7a t\u1eeb;\n else {$lslett = NULL;}\n \n if($len > 2) {$ltlett = mb_substr($str2, -3);} \/\/ l\u1ea5y 3 k\u00fd t\u1ef1 cu\u1ed1i c\u1ee7a t\u1eeb;\n else {$ltlett = NULL;}\n \n if (in_array($lflett, $one_vow)) {$rs = 1;} \/\/ nguy\u00ean \u00e2m \u0111\u01a1n c\u00f3 th\u1ec3 \u0111\u1ee9ng cu\u1ed1i\n if (in_array($lslett, $diphthongs)) {$rs = 1;} \/\/ nguy\u00ean \u00e2m \u0111\u00f4i c\u00f3 th\u1ec3 \u0111\u1ee9ng cu\u1ed1i\n if (in_array($ltlett, $triphthongs)) {$rs = 1;} \/\/ nguy\u00ean \u00e2m ba c\u00f3 th\u1ec3 \u0111\u1ee9ng cu\u1ed1i\n \n \n \/\/ tr\u01b0\u1edbc m\u1ed9t ph\u1ee5 \u00e2m cu\u1ed1i h\u1ee3p l\u1ec7 th\u00ec ph\u1ea3i l\u00e0 nguy\u00ean \u00e2m\n if (in_array($lflett, $last_csnt)) { \/\/ 1 k\u00fd t\u1ef1 cu\u1ed1i kh\u1edbp\n if($len > 1) {$vow11 = mb_substr($str2, $len-2, 1, 'UTF-8');} else {$vow11 = NULL;} \/\/ l\u1ea5y 1 k\u00fd t\u1ef1 tr\u01b0\u1edbc k\u00fd t\u1ef1 cu\u1ed1i c\u00f9ng\n if($len > 2) {$vow12 = mb_substr($str2, $len-3, 2, 'UTF-8');} else {$vow12 = NULL;} \/\/ l\u1ea5y 2 k\u00fd t\u1ef1 tr\u01b0\u1edbc k\u00fd t\u1ef1 cu\u1ed1i c\u00f9ng\n if($len > 3) {$vow13 = mb_substr($str2, $len-4, 3, 'UTF-8');} else {$vow13 = NULL;} \/\/ l\u1ea5y 3 k\u00fd t\u1ef1 tr\u01b0\u1edbc k\u00fd t\u1ef1 cu\u1ed1i c\u00f9ng\n \n if (in_array($vow11, $one_vow) || in_array($vow12, $diphthongs) || in_array($vow13, $triphthongs)) {$rs = 1;}\n }\n \n if (in_array($lslett, $last_csnt)) { \/\/ 2 k\u00fd t\u1ef1 cu\u1ed1i kh\u1edbp\n if($len > 2) {$vow21 = mb_substr($str2, $len-3, 1, 'UTF-8');} else {$vow21 = NULL;} \/\/ l\u1ea5y 1 k\u00fd t\u1ef1 tr\u01b0\u1edbc 2 k\u00fd t\u1ef1 cu\u1ed1i c\u00f9ng\n if($len > 3) {$vow22 = mb_substr($str2, $len-4, 2, 'UTF-8');} else {$vow22 = NULL;} \/\/ l\u1ea5y 2 k\u00fd t\u1ef1 tr\u01b0\u1edbc 2 k\u00fd t\u1ef1 cu\u1ed1i c\u00f9ng\n if($len > 4) {$vow23 = mb_substr($str2, $len-5, 3, 'UTF-8');} else {$vow23 = NULL;} \/\/ l\u1ea5y 3 k\u00fd t\u1ef1 tr\u01b0\u1edbc 2 k\u00fd t\u1ef1 cu\u1ed1i c\u00f9ng\n \n if (in_array($vow21, $one_vow) || in_array($vow22, $diphthongs) || in_array($vow23, $triphthongs)) {$rs = 1;}\n }\n\nreturn $rs; \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/\/ ch\u1ec9 \u00e1p d\u1ee5ng v\u1edbi m\u1ed9t t\u1eeb\nfunction vn_no_sound_end_check($str) { \/\/ ki\u1ec3m tra c\u00e1c nguy\u00ean \u00e2m kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p c\u00f3 \u00e2m cu\u1ed1i\n $rs = 1; \/\/ gi\u1ea3 \u0111\u1ecbnh l\u00e0 \u0111\u00fang ch\u00ednh t\u1ea3\n $no_sound_end = vna_no_sound_end(); \/\/ l\u1ea5y m\u1ea3ng c\u00e1c nguy\u00ean \u00e2m kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p c\u00f3 \u00e2m cu\u1ed1i\n $str2 = vn_remove_accents($str); \/\/ x\u00f3a d\u1ea5u, chuy\u1ec3n v\u1ec1 k\u00fd t\u1ef1 th\u01b0\u1eddng\n $len = vn_num_char($str2); \/\/ l\u1ea5y \u0111\u1ed9 d\u00e0i k\u00fd t\u1ef1\n \n if($len > 2) {\n $lslett = mb_substr($str2, -2); \/\/ l\u1ea5y hai k\u00fd t\u1ef1 cu\u1ed1i\n $vow12 = mb_substr($str2, $len-3, 2, 'UTF-8'); \/\/ l\u1ea5y hai k\u00fd t\u1ef1 tr\u01b0\u1edbc 1 k\u00fd t\u1ef1 cu\u1ed1i\n }\n else {\n $lslett = NULL;\n $vow12 = NULL; \n }\n \n \n if($len > 3) {\n $ltlett = mb_substr($str2, -3); \/\/ l\u1ea5y ba k\u00fd t\u1ef1 cu\u1ed1i\n $vow13 = mb_substr($str2, $len-4, 3, 'UTF-8'); \/\/ l\u1ea5y ba k\u00fd t\u1ef1 tr\u01b0\u1edbc 1 k\u00fd t\u1ef1 cu\u1ed1i \n } \n else {\n $ltlett = NULL;\n $vow13 = NULL; \n } \n \n \n \/\/ nguy\u00ean \u00e2m \u0111\u00f4i n\u1eb1m tr\u01b0\u1edbc k\u00fd t\u1ef1 cu\u1ed1i c\u00f9ng\n if (in_array($vow12, $no_sound_end)==1 && in_array($lslett, $no_sound_end)==0) {$rs = 0;}\n \n \n \/\/ nguy\u00ean \u00e2m ba n\u1eb1m tr\u01b0\u1edbc k\u00fd t\u1ef1 cu\u1ed1i c\u00f9ng\n if (in_array($vow13, $no_sound_end)==1 && in_array($ltlett, $no_sound_end)==0) {$rs = 0;}\n \n \n \/\/ ngo\u1ea1i l\u1ec7 v\u1edbi gi\u00e1o, gi\u00e1p, gi\u00e1c, gi\u00fap...\n $flett = mb_substr($str2, 0, 1, 'UTF-8'); \/\/ l\u1ea5y k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n if ($flett == \"g\" && ($vow12 == \"ia\" || $vow12 == \"iu\")) {$rs = 1;}\n\nreturn $rs; \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/\/ ch\u1ec9 \u00e1p d\u1ee5ng v\u1edbi m\u1ed9t t\u1eeb, ki\u1ec3m tra ch\u00ednh t\u1ea3\nfunction vn_simple_spell_small($str) {\n $rs = 1; \/\/ ban \u0111\u1ea7u cho l\u00e0 \u0111\u00fang ch\u00ednh t\u1ea3\n $str2 = vn_low_rmv($str); \/\/ x\u00f3a kho\u1ea3ng tr\u1eafng d\u01b0 th\u1eeba, chuy\u1ec3n th\u00e0nh k\u00fd t\u1ef1 th\u01b0\u1eddng\n \n \/\/ kh\u00f4ng \u0111\u01b0\u1ee3c c\u00f3 k\u00fd t\u1ef1 n\u01b0\u1edbc ngo\u00e0i\n if (vn_foreign_check_low($str2)) {$rs = 0;}\n \n \/\/ t\u1eeb ti\u1ebfng Vi\u1ec7t c\u00f3 nhi\u1ec1u ch\u1eef c\u00e1i nh\u1ea5t l\u00e0 nghi\u00eang v\u1edbi 7 ch\u1eef c\u00e1i\n \/\/ c\u00e1c t\u1eeb \u0111\u00fang ch\u00ednh t\u1ea3 ch\u1ec9 c\u00f3 6 ch\u1eef c\u00e1i tr\u1edf xu\u1ed1ng\n if ($rs == 1) { \/\/ \u0111\u1ec3 n\u00f3 \u0111\u1ee1 ph\u1ea3i th\u1ef1c hi\u1ec7n ki\u1ec3m tra qu\u00e1 nhi\u1ec1u\n if (($str2 != \"nghi\u00eang\") && (vn_num_char($str2)>6)) {$rs = 0;}\n }\n \n \/\/ s\u1ed1 l\u01b0\u1ee3ng t\u1eeb c\u00f3 d\u1ea5u kh\u00f4ng \u0111\u01b0\u1ee3c l\u1edbn h\u01a1n 1\n if ($rs == 1) { \/\/ \u0111\u1ec3 n\u00f3 \u0111\u1ee1 ph\u1ea3i th\u1ef1c hi\u1ec7n ki\u1ec3m tra qu\u00e1 nhi\u1ec1u\n if(vn_num_acc_char($str2) > 1) {$rs = 0;}\n }\n \n \/\/ t\u1ed1i \u0111a 3 nguy\u00ean \u00e2m, t\u1ed1i thi\u1ec3u 1 nguy\u00ean \u00e2m v\u00e0 c\u00e1c nguy\u00ean \u00e2m c\u1ea7n ph\u1ea3i \u0111\u1ee9ng c\u1ea1nh nhau\n if ($rs == 1) { \/\/ \u0111\u1ec3 n\u00f3 \u0111\u1ee1 ph\u1ea3i th\u1ef1c hi\u1ec7n ki\u1ec3m tra qu\u00e1 nhi\u1ec1u\n if (vn_vowel_next_other($str2) == 0){$rs = 0;}\n }\n \n \/\/ ki\u1ec3m tra \u00e2m \u0111\u1ea7u\n if ($rs == 1) { \/\/ \u0111\u1ec3 n\u00f3 \u0111\u1ee1 ph\u1ea3i th\u1ef1c hi\u1ec7n ki\u1ec3m tra qu\u00e1 nhi\u1ec1u\n if (vn_first_sound_check($str2) == 0) {$rs = 0;}\n }\n \n \/\/ki\u1ec3m tra \u00e2m cu\u1ed1i\n if ($rs == 1) { \/\/ \u0111\u1ec3 n\u00f3 \u0111\u1ee1 ph\u1ea3i th\u1ef1c hi\u1ec7n ki\u1ec3m tra qu\u00e1 nhi\u1ec1u\n if (vn_last_sound_check($str2) == 0) {$rs = 0;}\n }\n \n \/\/ ki\u1ec3m tra c\u00e1c nguy\u00ean \u00e2m kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p c\u00f3 \u00e2m cu\u1ed1i\n if ($rs == 1) { \/\/ \u0111\u1ec3 n\u00f3 \u0111\u1ee1 ph\u1ea3i th\u1ef1c hi\u1ec7n ki\u1ec3m tra qu\u00e1 nhi\u1ec1u\n if (vn_no_sound_end_check($str2) == 0) {$rs = 0;}\n }\n \nreturn $rs; \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/\/ thi\u1ebft k\u1ebf ki\u1ec3m tra ch\u00ednh t\u1ea3 cho m\u1ed9t c\u1ee5m nhi\u1ec1u t\u1eeb\nfunction vn_simple_spell_big($str) {\n $rs = 1; \/\/ g\u00e1n cho \u0111\u00fang ch\u00ednh t\u1ea3 l\u00fac ban \u0111\u1ea7u \n $str2 = vn_rmv_wsp($str); \/\/ x\u00f3a b\u1ecf kho\u1ea3ng tr\u1eafng d\u01b0 th\u1eeba\n $words = mb_split(' ', $str2); \/\/ t\u00e1ch t\u1eeb\n \n foreach ($words as $word) {\n if ($word!=NULL){\n if (vn_simple_spell_small($word) == 0) {$rs = 0; break;}\n } \n }\n\nreturn $rs; \n}\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ End code<\/code><\/pre>\n\n\n\n
\n\n\n\nGi\u1ea3i th\u00edch c\u00e1c h\u00e0m<\/h2>\n\n\n\n
\n
in_array<\/code>: d\u00f9ng \u0111\u1ec3 ki\u1ec3m tra m\u1ed9t chu\u1ed7i c\u00f3 n\u1eb1m trong m\u1ea3ng kh\u00f4ng;<\/li>\n\n\n\n
mb_substr<\/code>: \u0111\u1ec3 th\u1ef1c hi\u1ec7n c\u1eaft chu\u1ed7i, ch\u1ecdn ra chu\u1ed7i c\u1ea7n so s\u00e1nh;<\/li>\n<\/ul>\n\n\n\n
vn_first_sound_check($str)<\/code>, m\u1ed9t trong c\u00e1c h\u00e0m con \u0111\u1ec3 ki\u1ec3m tra ch\u00ednh t\u1ea3. N\u00f3 \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 ki\u1ec3m tra xem \u00e2m \u0111\u1ea7u t\u1eeb c\u00f3 ch\u00ednh x\u00e1c hay kh\u00f4ng.<\/p>\n\n\n\n
$vfc = array(\"b\",\"c\",\"ch\",\"d\",\"\u0111\",\"g\",\"gh\",\"gi\",\"h\",\"k\",\"kh\",\"l\",\"m\",\"n\",\"nh\",\"ng\",\"ngh\",\"ph\",\"qu\",\"r\",\"s\",\"t\",\"th\",\"tr\",\"v\",\"x\");<\/code><\/pre>\n\n\n\n
$first_csnt = vna_first_csnt(); \/\/ l\u1ea5y m\u1ea3ng 26 ph\u1ee5 \u00e2m \u0111\u1ea7u h\u1ee3p l\u1ec7\n$first_vow = vna_vowel_lett(); \/\/ c\u00e1c nguy\u00ean \u00e2m \u0111\u01a1n c\u0169ng l\u00e0m \u00e2m \u0111\u1ea7u \u0111\u01b0\u1ee3c\n$diphthongs = vna_diphthongs(); \/\/ nguy\u00ean \u00e2m \u0111\u00f4i c\u00f3 th\u1ec3 l\u00e0m \u00e2m \u0111\u1ea7u\n$triphthongs = vna_triphthongs(); \/\/ nguy\u00ean \u00e2m ba c\u00f3 th\u1ec3 l\u00e0m \u00e2m \u0111\u1ea7u<\/code><\/pre>\n\n\n\n
if($len > 0) {$flett = mb_substr($str2, 0, 1, 'UTF-8');} \/\/ l\u1ea5y 1 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean c\u1ee7a t\u1eeb;\nelse {$flett = NULL;} \n \nif($len > 1) {$slett = mb_substr($str2, 0, 2, 'UTF-8');} \/\/ l\u1ea5y 2 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean c\u1ee7a t\u1eeb;\nelse {$slett = NULL;}\n \nif($len > 2) {$tlett = mb_substr($str2, 0, 3, 'UTF-8');} \/\/ l\u1ea5y 3 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean c\u1ee7a t\u1eeb;\nelse {$tlett = NULL;} <\/code><\/pre>\n\n\n\n
if (in_array($flett, $first_vow)) {$rs = 1;} \/\/ nguy\u00ean \u00e2m \u0111\u01a1n \u0111\u1ea7u t\u1eeb th\u00ec h\u1ee3p l\u1ec7\n\nif (in_array($slett, $diphthongs)) {$rs = 1;} \/\/ nguy\u00ean \u00e2m \u0111\u00f4i \u0111\u1ea7u t\u1eeb th\u00ec h\u1ee3p l\u1ec7\n\nif (in_array($tlett, $triphthongs)) {$rs = 1;} \/\/ nguy\u00ean \u00e2m ba \u0111\u1ea7u t\u1eeb th\u00ec h\u1ee3p l\u1ec7<\/code><\/pre>\n\n\n\n
\/\/ sau m\u1ed9t ph\u1ee5 \u00e2m \u0111\u1ea7u h\u1ee3p l\u1ec7 th\u00ec ph\u1ea3i l\u00e0 nguy\u00ean \u00e2m\nif (in_array($flett, $first_csnt)) { \/\/ 1 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean kh\u1edbp\n \nif($len > 1) {$vow11 = mb_substr($str2, 1, 1, 'UTF-8');} else {$vow11 = NULL;} \/\/ l\u1ea5y 1 k\u00fd t\u1ef1 sau k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n\nif($len > 2) {$vow12 = mb_substr($str2, 1, 2, 'UTF-8');} else {$vow12 = NULL;} \/\/ l\u1ea5y 2 k\u00fd t\u1ef1 sau k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n\nif($len > 3) {$vow13 = mb_substr($str2, 1, 3, 'UTF-8');} else {$vow13 = NULL;} \/\/ l\u1ea5y 3 k\u00fd t\u1ef1 sau k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n \nif (in_array($vow11, $first_vow) || in_array($vow12, $diphthongs) || in_array($vow13, $triphthongs)) {$rs = 1;}\n }<\/code><\/pre>\n\n\n\n
vn_last_sound_check($str)<\/code> r\u1ea5t gi\u1ed1ng v\u1ec1 m\u1eb7t c\u1ea5u tr\u00fac so v\u1edbi h\u00e0m
vn_first_sound_check($str)<\/code> ch\u1ec9 kh\u00e1c l\u00e0 ph\u1ea7n n\u00e0y li\u00ean quan \u0111\u1ebfn \u00e2m cu\u1ed1i n\u00ean s\u1ebd c\u00f3 m\u1ed9t s\u1ed1 c\u00e1i ch\u00fang ta l\u00e0m ng\u01b0\u1ee3c l\u1ea1i, b\u1ea1n c\u1ee9 theo d\u00f5i m\u00e3, v\u00e0 ph\u1ea7n comments s\u1ebd hi\u1ec3u.<\/p>\n","protected":false},"excerpt":{"rendered":"