vn_check_vow_bff_big($str)<\/code><\/p>\n\n\n\nH\u00e0m ki\u1ec3m tra tr\u01b0\u1edbc r\u1ea5t quan tr\u1ecdng, n\u00f3 gi\u00fap ch\u00fang ta h\u1ea1n ch\u1ebf c\u00e1c thao t\u00e1c th\u1eeba, v\u00e0 h\u1ea1n ch\u1ebf c\u1ea3 l\u1ed7i n\u1eefa n\u1ebfu nh\u01b0 h\u00e0m m\u00e0 ch\u00fang ta x\u00e2y d\u1ef1ng ch\u01b0a ho\u00e0n h\u1ea3o.<\/p>\n\n\n\n
Sau \u0111\u00f3 \u0111\u1ec3 s\u1eeda d\u1ea5u cho n\u00f3 b\u1ea1n d\u00f9ng h\u00e0m: vn_fix_vowel_string($str)<\/code><\/p>\n\n\n\nC\u00fa ph\u00e1p chung:<\/p>\n\n\n\n
if (vn_check_vow_bff_big($str)) {\n vn_fix_vowel_string($str);\n}<\/code><\/pre>\n\n\n\nHai cu\u1ed1i c\u00f9ng vn_fix_vowel_string($str)<\/code> k\u1ebft h\u1ee3p v\u1edbi h\u00e0m ki\u1ec3m tra ch\u00ednh t\u1ea3 \u0111\u1ec3 c\u1ea3i thi\u1ec7n ch\u1ea5t l\u01b0\u1ee3ng k\u1ebft qu\u1ea3.<\/p>\n\n\n\n
\n\n\n\n<\/span>C\u00e1c h\u00e0m \u0111\u1eb7c th\u00f9, c\u00f3 s\u1eb5n c\u1ee7a PHP \u0111\u01b0\u1ee3c d\u00f9ng bao g\u1ed3m<\/span><\/h2>\n\n\n\npreg_split<\/code> \u0111\u1ec3 t\u00e1ch t\u1eebng k\u00fd t\u1ef1;<\/li>preg_match<\/code> \u0111\u1ec3 \u0111\u1ed1i s\u00e1nh;<\/li>bin2hex<\/code> v\u00e0 hex2bin<\/code> \u0111\u1ec3 chuy\u1ec3n \u0111\u1ed5i qua l\u1ea1i gi\u1eefa k\u00fd t\u1ef1 v\u00e0 m\u00e3 hex;<\/li>mb_substr<\/code> \u0111\u1ec3 t\u00e1ch chu\u1ed7i, l\u1ea5y chu\u1ed7i con ho\u1eb7c m\u1ed9t k\u00fd t\u1ef1 c\u1ee5 th\u1ec3;<\/li>in_array<\/code> \u0111\u1ec3 xem m\u1ed9t chu\u1ed7i c\u00f3 n\u1eb1m trong m\u1ea3ng c\u1ea7n ki\u1ec3m tra hay kh\u00f4ng, \u0111\u00f4i khi n\u00f3 l\u00e0 l\u1ef1a ch\u1ecdn hay h\u01a1n preg_match<\/code>;<\/li><\/ul>\n\n\n\n
\n\n\n\n<\/span>M\u00e3 ho\u00e0n ch\u1ec9nh<\/span><\/h2>\n\n\n\n<?php\n\/* \n * Fix the accent position of Vietnamese vowels v1.2\n * MIT License\n * Nguyen Duc Anh - freehost.page\n *\/\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\/\/ t\u00ecm v\u1ecb tr\u00ed nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u \u0111\u1ea7u ti\u00ean trong m\u1ed9t t\u1eeb\nfunction vn_post_fnone_acc($str) {\n $navow = vna_vowel_lett(); \/\/ m\u1ea3ng nguy\u00ean \u00e2m \u0111\u01a1n kh\u00f4ng d\u1ea5u\n $chars = preg_split('\/\/u', $str, -1, PREG_SPLIT_NO_EMPTY); \/\/ t\u00e1ch t\u1eebng k\u00fd t\u1ef1\n $j = 0; \n $post = 0; \/\/ v\u1ecb tr\u00ed c\u1ea7n t\u00ecm, theo ki\u1ec3m \u0111\u1ebfm con ng\u01b0\u1eddi\n foreach ($chars as $char) { \/\/ chuy\u1ec3n n\u00f3 th\u00e0nh t\u1eebng k\u00fd t\u1ef1\n $j++;\n if (in_array($char,$navow)) {$post = $j; break;} \/\/ l\u1ea5y \u0111\u01b0\u1ee3c v\u1ecb tr\u00ed \u0111\u1ea7u ti\u00ean\n }\n\nreturn $post; \n}\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\/\/ t\u00ecm v\u1ecb tr\u00ed nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u cu\u1ed1i c\u00f9ng trong m\u1ed9t t\u1eeb\nfunction vn_post_lnone_acc($str) {\n $navow = vna_vowel_lett(); \/\/ m\u1ea3ng nguy\u00ean \u00e2m \u0111\u01a1n kh\u00f4ng d\u1ea5u\n $chars = preg_split('\/\/u', $str, -1, PREG_SPLIT_NO_EMPTY); \/\/ t\u00e1ch t\u1eebng k\u00fd t\u1ef1\n $j = 0; \n $post = 0; \/\/ v\u1ecb tr\u00ed c\u1ea7n t\u00ecm, theo ki\u1ec3m \u0111\u1ebfm con ng\u01b0\u1eddi\n foreach ($chars as $char) { \/\/ chuy\u1ec3n n\u00f3 th\u00e0nh t\u1eebng k\u00fd t\u1ef1\n $j++;\n if (in_array($char,$navow)) {$post = $j;} \/\/ l\u1ea5y \u0111\u01b0\u1ee3c v\u1ecb tr\u00ed cu\u1ed1i c\u00f9ng\n }\n\nreturn $post; \n}\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\/\/ t\u00ecm v\u1ecb tr\u00ed nguy\u00ean \u00e2m c\u00f3 d\u1ea5u trong m\u1ed9t t\u1eeb\nfunction vn_post_acc($str) {\n $avow = vna_acc_char_array(); \/\/ m\u1ea3ng nguy\u00ean \u00e2m \u0111\u01a1n c\u00f3 d\u1ea5u\n $chars = preg_split('\/\/u', $str, -1, PREG_SPLIT_NO_EMPTY); \/\/ t\u00e1ch t\u1eebng k\u00fd t\u1ef1\n $j = 0; \n $post = 0; \/\/ v\u1ecb tr\u00ed c\u1ea7n t\u00ecm, theo ki\u1ec3m \u0111\u1ebfm con ng\u01b0\u1eddi\n foreach ($chars as $char) { \/\/ chuy\u1ec3n n\u00f3 th\u00e0nh t\u1eebng k\u00fd t\u1ef1\n $j++;\n if (in_array($char,$avow)) {$post = $j;} \/\/ l\u1ea5y \u0111\u01b0\u1ee3c v\u1ecb tr\u00ed nguy\u00ean \u00e2m c\u00f3 d\u1ea5u\n }\n\nreturn $post; \n}\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\/\/ \u0111\u1ea3o d\u1ea5u 2 nguy\u00ean \u00e2m \u0111\u1ee9ng c\u1ea1nh nhau\nfunction vn_acc_turn_lr($dvow){ \/\/ chuy\u1ec3n d\u1ea5u sang tr\u00e1i ho\u1eb7c ph\u1ea3i \n $vowo = mb_substr($dvow, 0, 1); \/\/ nguy\u00ean \u00e2m th\u1ee9 nh\u1ea5t \n $vowt = mb_substr($dvow, 1, 1); \/\/ nguy\u00ean \u00e2m th\u1ee9 hai \n \n $hexo = bin2hex(rarely_hex_convert($vowo)); \/\/ hex nguy\u00ean \u00e2m th\u1ee9 nh\u1ea5t\n $hext = bin2hex(rarely_hex_convert($vowt)); \/\/ hex nguy\u00ean \u00e2m th\u1ee9 hai\n \n $acc = vna_acc_char_array(); \/\/ l\u1ea5y m\u1ea3ng nguy\u00ean \u00e2m c\u00f3 d\u1ea5u\n $new_word_double = $dvow; \/\/ g\u00e1n m\u1eb7c \u0111\u1ecbnh d\u1ef1 ph\u00f2ng\n \n if (in_array($vowt,$acc)) { \/\/ chuy\u1ec3n d\u1ea5u t\u1eeb ph\u1ea3i sang tr\u00e1i\n \/\/ d\u1ea5u l\u00e0 4 k\u00fd t\u1ef1 \u1edf cu\u1ed1i m\u00e3 hex th\u1ee9 hai\n $len_hext = vn_num_char($hext); \/\/ l\u1ea5y \u0111\u1ed9 d\u00e0i k\u00fd t\u1ef1 c\u1ee7a m\u00e3 hex c\u1ee7a k\u00fd t\u1ef1 th\u1ee9 hai\n $top_hext = mb_substr($hext,0,-4); \/\/ l\u1ea5y chu\u1ed7i \u0111\u1ea7u hext\n $bottom_hext = mb_substr($hext,$len_hext-4, 4); \/\/ l\u1ea5y 4 k\u00fd t\u1ef1 cu\u1ed1i\n $new_hexo = $hexo.$bottom_hext; \/\/ \u0111\u00e3 \u0111\u1ea3o th\u00e0nh c\u00f4ng\n\n $new_hex_double = $new_hexo.$top_hext; \/\/ t\u1ea1o ra \u0111\u01b0\u1ee3c m\u00e3 hex cho 2 k\u00fd t\u1ef1 m\u1edbi\n $new_word_double = pop_hex_convert(hex2bin($new_hex_double)); \/\/ chuy\u1ec3n th\u00e0nh m\u00e3 h\u00f3a ph\u1ed5 th\u00f4ng v\u00e0 chuy\u1ec3n th\u00e0nh k\u00fd t\u1ef1\n }\n \n if (in_array($vowo,$acc)) { \/\/ chuy\u1ec3n d\u1ea5u t\u1eeb tr\u00e1i sang ph\u1ea3i\n \/\/ d\u1ea5u l\u00e0 4 k\u00fd t\u1ef1 \u1edf cu\u1ed1i m\u00e3 $hex \u0111\u1ea7u ti\u00ean\n $len_hexo = vn_num_char($hexo); \/\/ l\u1ea5y \u0111\u1ed9 d\u00e0i k\u00fd t\u1ef1 c\u1ee7a m\u00e3 hex c\u1ee7a k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n $top_hexo = mb_substr($hexo,0,-4); \/\/ l\u1ea5y chu\u1ed7i \u0111\u1ea7u hexo\n $bottom_hexo = mb_substr($hexo,$len_hexo-4, 4); \/\/ l\u1ea5y 4 k\u00fd t\u1ef1 cu\u1ed1i\n $new_hext = $hext.$bottom_hexo; \/\/ \u0111\u00e3 \u0111\u1ea3o th\u00e0nh c\u00f4ng\n\n $new_hex_double = $top_hexo.$new_hext; \/\/ t\u1ea1o ra \u0111\u01b0\u1ee3c m\u00e3 hex cho 2 k\u00fd t\u1ef1 m\u1edbi\n $new_word_double = pop_hex_convert(hex2bin($new_hex_double)); \/\/ chuy\u1ec3n th\u00e0nh m\u00e3 h\u00f3a ph\u1ed5 th\u00f4ng v\u00e0 chuy\u1ec3n th\u00e0nh k\u00fd t\u1ef1\n }\n \nreturn $new_word_double; \/\/ \u0111\u1ea3o d\u1ea5u th\u00e0nh c\u00f4ng\n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/\/ \u0111\u1ea7u v\u00e0o k\u00fd t\u1ef1 th\u01b0\u1eddng, m\u00e3 h\u00f3a ph\u1ed5 bi\u1ebfn\nfunction do_nothing_eeow($str) { \/\/ ki\u1ec3m tra xem k\u00fd t\u1ef1 c\u00f3 d\u1ea5u li\u00ean quan \u0111\u1ebfn \u01a1 v\u00e0 \u00ea c\u00f3 m\u1eb7t trong t\u1eeb kh\u00f4ng\n $rs = 0;\n \/\/ n\u1ebfu c\u00f3 m\u1eb7t th\u00ec kh\u00f4ng ph\u1ea3i thao t\u00e1c chuy\u1ec3n d\u1ea5u, \u00ea v\u00e0 \u01a1 c\u00f3 d\u1ea5u \u0111\u01b0\u1ee3c \u01b0u ti\u00ean\n $priority_eeow = array(\"\u1edb\",\"\u1edd\",\"\u1edf\",\"\u1ee1\",\"\u1ee3\",\"\u1ebf\",\"\u1ec1\",\"\u1ec3\",\"\u1ec5\",\"\u1ec7\");\n foreach ($priority_eeow as $eeow) {\n $pt='\/'.$eeow.'\/';\n if (preg_match($pt, $str)) {$rs = 1; break;}\n }\n \nreturn $rs; \/\/ n\u1ebfu k\u1ebft qu\u1ea3 tr\u1ea3 v\u1ec1 1 ngh\u0129a l\u00e0 s\u1ebd kh\u00f4ng c\u1ea7n thao t\u00e1c chuy\u1ec3n d\u1ea5u n\u00e0o\n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\nfunction detect_excep_eeow($str) { \/\/ ph\u00e1t hi\u1ec7n c\u00e1c t\u1eeb c\u00f3 \u00ea v\u00e0 \u01a1\n $rs = 0;\n \/\/ num_acc_char = 1 v\u00e0 c\u00f3 \u00ea \u01a1 b\u00ean trong\n $ptee = '\/\u00ea\/'; $ptow = '\/\u01a1\/'; \/\/ t\u1ea1o c\u00e1c m\u1eabu so s\u00e1nh trong h\u00e0m preg_match\n if (preg_match($ptee, $str)) {$rs = 1;} \/\/ ph\u00e1t hi\u1ec7n c\u00f3 \u00ea\n if (preg_match($ptow, $str)) {$rs = 1;} \/\/ ph\u00e1t hi\u1ec7n c\u00f3 \u01a1\n\nreturn $rs; \/\/ tr\u1ea3 v\u1ec1 1 t\u1ee9c l\u00e0 \u0111\u00e2y l\u00e0 t\u1eeb c\u00f3 \u00ea v\u00e0 \u01a1 \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\nfunction fix_excep_eeow($str){ \/\/ \u0111\u1ea7u v\u00e0o l\u00e0 t\u1eeb c\u00f3 d\u1ea5u v\u00e0 c\u00f3 \u00ea ho\u1eb7c \u01a1, do v\u1eady \u00ea ho\u1eb7c \u01a1 s\u1ebd c\u1ea7n l\u1ea5y d\u1ea5u n\u00e0y\n \/\/ s\u1eed d\u1ee5ng h\u00e0m detect_excep_eeow($str) \u0111\u1ec3 ph\u00e1t hi\u1ec7n \u00ea v\u00e0 \u01a1\n $str2 = preg_split('\/\/u', $str, -1, PREG_SPLIT_NO_EMPTY); \/\/ t\u00e1ch t\u1eebng k\u00fd t\u1ef1\n $timbre = vna_hex_timbre(); \/\/ c\u00e1c m\u00e3 hex c\u00f3 d\u1ea5u\n $new_hex_char = \"\"; \/\/ m\u00e3 hex_char m\u1edbi\n $acc = \"\"; \/\/ d\u1ea5u c\u1ea7n ph\u1ea3i t\u00ecm, $timbre\n \n foreach ($str2 as $char) {\n $hex_char = bin2hex(rarely_hex_convert($char)); \/\/ chuy\u1ec3n sang d\u1ea1ng m\u00e3 h\u00f3a kh\u00f4ng ph\u1ed5 bi\u1ebfn c\u00f3 bao g\u1ed3m m\u00e3 hex d\u1ea5u b\u00ean trong\n foreach ($timbre as $tim) { \/\/ t\u00e1ch m\u1ea3ng d\u1ea5u \u0111\u1ec3 l\u1ea5y t\u1eebng d\u1ea5u\n $pt = '\/'.$tim.'\/';\n if (preg_match($pt, $hex_char)) { \/\/ t\u00ecm d\u1ea5u trong t\u1eebng k\u00fd t\u1ef1\n $acc = $tim; \/\/ ph\u00e1t hi\u1ec7n d\u1ea5u th\u00ec g\u00e1n v\u00e0o\n $hex_char = mb_substr($hex_char,0,-4); \/\/ c\u1eaft d\u1ea5u c\u1ee7a t\u1eeb c\u00f3 d\u1ea5u \n }\n }\n if ($char == '\u00ea') {$hex_char = $hex_char.$acc;} \/\/ g\u00e1n th\u00eam d\u1ea5u cho \u00ea\n if ($char == '\u01a1') {$hex_char = $hex_char.$acc;} \/\/ g\u00e1n th\u00eam d\u1ea5u ch\u01a1 \u01a1\n $new_hex_char = $new_hex_char.$hex_char; \/\/ t\u1ea1o th\u00e0nh m\u00e3 hexchar m\u1edbi\n }\n \n $rs = pop_hex_convert(hex2bin($new_hex_char)); \/\/ chuy\u1ec3n m\u00e3 hex v\u00e0 chuy\u1ec3n m\u00e3 h\u00f3a \u0111\u1ec3 t\u1ea1o th\u00e0nh t\u1eeb m\u1edbi\n \nreturn $rs; \/\/ tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\nfunction giqu($str) { \/\/ ngo\u1ea1i l\u1ec7 d\u00e0nh cho gi v\u00e0 qu trong t\u1eeb c\u00f3 nguy\u00ean \u00e2m \u0111\u00f4i, d\u1ea5u v\u1eabn \u0111\u1eb7t \u1edf nguy\u00ean \u00e2m cu\u1ed1i\n $rs = 0; \n $two_first_char = mb_substr($str,0,2); \/\/ l\u1ea5y 2 k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean\n if ($two_first_char == \"gi\" || $two_first_char == \"qu\") {$rs = 1;}\n\nreturn $rs; \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\nfunction detect_excep_giqu($str){ \/\/ ph\u00e1t hi\u1ec7n c\u00e1c tr\u01b0\u1eddng h\u1ee3p nh\u01b0 g\u00edo v\u00e0 q\u00faa\n $rs = 0;\n $two_first_char = mb_substr($str,0,2);\n \n $priority_i = array(\"\u00ec\",\"\u00ed\",\"\u1ec9\",\"\u0129\",\"\u1ecb\"); \/\/ m\u1ea3ng k\u00fd t\u1ef1 i c\u00f3 d\u1ea5u\n $priority_u = array(\"\u00f9\",\"\u00fa\",\"\u1ee7\",\"\u0169\",\"\u1ee5\"); \/\/ m\u1ea3ng k\u00fd t\u1ef1 u c\u00f3 d\u1ea5u\n \n foreach ($priority_i as $pi) {\n $gi = \"g\".$pi; \/\/ n\u1ed1i v\u00e0o th\u00e0nh g\u00ec, g\u00ed, g\u1ecb,...\n if ($two_first_char == $gi) {$rs = 1; break;} \/\/ ng\u1eaft ngay \u0111\u1ec3 \u0111\u1ee1 m\u1ea5t th\u1eddi gian\n }\n \n if ($rs == 0) { \/\/ n\u1ebfu rs = 1 r\u1ed3i th\u00ec kh\u00f4ng c\u1ea7n ph\u1ea3i l\u00e0m g\u00ec n\u1eefa\n foreach ($priority_u as $pu) {\n $qu = \"q\".$pu; \/\/ n\u1ed1i v\u00e0o th\u00e0nh q\u00f9, q\u00fa, q\u1ee5,...\n if ($two_first_char == $qu) {$rs = 1; break;}\n }\n }\n \nreturn $rs; \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\nfunction fix_excep_giqu($str){\n \/\/ s\u1eed d\u1ee5ng h\u00e0m detect_excep_giqu($str) \u0111\u1ec3 ph\u00e1t hi\u1ebfn g\u00ed v\u00e0 q\u00fa\n $chars = preg_split('\/\/u', $str, -1, PREG_SPLIT_NO_EMPTY); \/\/ t\u00e1ch t\u1eebng k\u00fd t\u1ef1\n $timbre = vna_hex_timbre(); \/\/ c\u00e1c m\u00e3 hex c\u00f3 d\u1ea5u\n $snv = vna_vowel_lett(); \/\/ m\u1ea3ng nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u\n $new_hex_char = \"\"; \/\/ m\u00e3 hex_char m\u1edbi\n $acc = \"\"; \/\/ d\u1ea5u c\u1ea7n ph\u1ea3i t\u00ecm, $timbre\n $j = 0;\n foreach ($chars as $char) {\n $hex_char = bin2hex(rarely_hex_convert($char)); \/\/ chuy\u1ec3n sang d\u1ea1ng m\u00e3 h\u00f3a kh\u00f4ng ph\u1ed5 bi\u1ebfn c\u00f3 bao g\u1ed3m m\u00e3 hex d\u1ea5u b\u00ean trong\n foreach ($timbre as $tim) { \/\/ t\u00e1ch m\u1ea3ng d\u1ea5u \u0111\u1ec3 l\u1ea5y t\u1eebng d\u1ea5u\n $pt = '\/'.$tim.'\/';\n if (preg_match($pt, $hex_char)) { \/\/ t\u00ecm d\u1ea5u trong t\u1eebng k\u00fd t\u1ef1\n $acc = $tim; \/\/ ph\u00e1t hi\u1ec7n d\u1ea5u th\u00ec g\u00e1n v\u00e0o\n $hex_char = mb_substr($hex_char,0,-4); \/\/ c\u1eaft d\u1ea5u c\u1ee7a t\u1eeb c\u00f3 d\u1ea5u \n }\n }\n if (in_array($char,$snv) && $j < 1) {$j++; $hex_char = $hex_char.$acc;} \/\/ g\u00e1n th\u00eam d\u1ea5u cho nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u \u0111\u1ea7u ti\u00ean t\u00ecm \u0111\u01b0\u1ee3c\n \n $new_hex_char = $new_hex_char.$hex_char; \/\/ t\u1ea1o th\u00e0nh m\u00e3 hexchar m\u1edbi\n }\n \n $rs = pop_hex_convert(hex2bin($new_hex_char)); \/\/ chuy\u1ec3n m\u00e3 hex v\u00e0 chuy\u1ec3n m\u00e3 h\u00f3a \u0111\u1ec3 t\u1ea1o th\u00e0nh t\u1eeb m\u1edbi\n \nreturn $rs; \/\/ tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 \n} \n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/\/ ki\u1ec3m tra tr\u01b0\u1edbc xem c\u1ee7a n\u00ean s\u1eeda l\u1ed7i v\u1ecb tr\u00ed d\u1ea5u nguy\u00ean \u00e2m hay kh\u00f4ng\n\/\/ ki\u1ec3m tra d\u00e0nh cho m\u1ed9t t\u1eeb\nfunction vn_check_vow_bff($str) {\n $doing = 0; \/\/ m\u1eb7c \u0111\u1ecbnh l\u00e0 kh\u00f4ng s\u1eeda\n \/\/ t\u1eeb c\u00f3 m\u1ed9t nguy\u00ean \u00e2m c\u00f3 d\u1ea5u v\u00e0 \u00edt nh\u1ea5t m\u1ed9t nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u\n \/\/ m\u1edbi c\u1ea7n x\u1eed l\u00fd ti\u1ebfp\n if (vn_num_acc_char($str) == 1 && vn_num_none_acc_vowel($str) > 0) {\n $num_char = vn_num_char($str); \/\/ l\u1ea5y \u0111\u1ed9 d\u00e0i k\u00fd t\u1ef1\n $post_fnone_acc = vn_post_fnone_acc($str); \/\/ v\u1ecb tr\u00ed nguy\u00ean \u00e2m \u0111\u1ea7u\n $post_lnone_acc = vn_post_lnone_acc($str); \/\/ v\u1ecb tr\u00ed nguy\u00ean \u00e2m cu\u1ed1i\n $post_acc = vn_post_acc($str); \/\/ v\u1ecb tr\u00ed nguy\u00ean \u00e2m c\u00f3 d\u1ea5u\n \n if (vn_num_none_acc_vowel($str)==1) {\n if ($num_char == $post_acc) {$doing = 1;}\n if ($num_char > $post_lnone_acc && $post_lnone_acc > $post_acc) {$doing = 1;}\n }\n \n if (vn_num_none_acc_vowel($str)==2) {\n if ($post_acc > $post_lnone_acc) {$doing = 1;}\n if ($post_fnone_acc > $post_acc) {$doing = 1;}\n }\n \n \/\/ t\u1eeb c\u00f3 d\u1ea5u nh\u01b0ng kh\u00f4ng thu\u1ed9c v\u1ec1 \u00ea ho\u1eb7c \u01a1\n if (detect_excep_eeow($str)) {$doing = 1;}\n \n \/\/ t\u1eeb d\u1ea1ng g\u00edo, g\u1ec9oi, q\u00faan\n if (detect_excep_giqu($str)) {$doing = 1;}\n \n \/\/ c\u00e1c ngo\u1ea1i l\u1ec7\n if (do_nothing_eeow($str)) {$doing = 0;} \/\/ \u00ea, \u01a1 c\u00f3 d\u1ea5u kh\u00f4ng l\u00e0m g\u00ec c\u1ea3\n if (giqu($str)) {$doing = 0;} \/\/ n\u1ebfu c\u00f3 gi\u00f3 v\u00e0 qu\u00e1n nh\u01b0 n\u00e0y th\u00ec kh\u00f4ng l\u00e0m g\u00ec c\u1ea3\n }\n\nreturn $doing; \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/\/ ki\u1ec3m tra tr\u01b0\u1edbc d\u00e0nh cho chu\u1ed7i nhi\u1ec1u t\u1eeb\nfunction vn_check_vow_bff_big($str){\n $rs = 0;\n $str2 = pop_hex_convert($str); \/\/ chuy\u1ec3n v\u1ec1 m\u00e3 h\u00f3a ti\u00eau chu\u1ea9n v\u00e0 k\u00fd t\u1ef1 th\u01b0\u1eddng\n $words = mb_split(' ', $str2); \/\/ t\u00e1ch ra th\u00e0nh t\u1eebng t\u1eeb\n foreach ($words as $word) {\n if (vn_check_vow_bff($word)) {$rs = 1; break;}\n \/\/ th\u1ea5y c\u00f3 t\u1eeb sai ch\u00ednh t\u1ea3 th\u00ec ng\u1eaft kh\u00f4ng c\u1ea7n ki\u1ec3m tra ti\u1ebfp\n }\n \nreturn $rs; \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/\/ ch\u1ec9 \u00e1p d\u1ee5ng cho m\u1ed9t t\u1eeb\nfunction vn_fix_post_vowel($strx) { \/\/ s\u1eeda d\u1ea5u v\u1edbi t\u1eeb c\u00f3 2, 3 nguy\u00ean \u00e2m\n $rs = $strx; \/\/ g\u00e1n v\u1ec1 gi\u00e1 tr\u1ecb ban \u0111\u1ea7u \u0111\u1ec3 d\u1ef1 ph\u00f2ng tr\u01b0\u1eddng h\u1ee3p kh\u00f4ng c\u1ea7n ch\u1ec9nh\n $str = pop_hex_convert($strx); \/\/ chuy\u1ec3n v\u1ec1 k\u00fd t\u1ef1 th\u01b0\u1eddng v\u00e0 m\u00e3 h\u00f3a ph\u1ed5 th\u00f4ng\n $do_some_thing = 1; \/\/ m\u1eb7c \u0111\u1ecbnh s\u1ebd l\u00e0m \u0111i\u1ec1u g\u00ec \u0111\u00f3\n \n \/\/ c\u00e1c ngo\u1ea1i l\u1ec7\n if (do_nothing_eeow($str)) {$do_some_thing = 0;} \/\/ \u00ea, \u01a1 c\u00f3 d\u1ea5u kh\u00f4ng l\u00e0m g\u00ec c\u1ea3\n if (giqu($str)) {$do_some_thing = 0;} \/\/ n\u1ebfu c\u00f3 gi v\u00e0 qu nh\u01b0 n\u00e0y th\u00ec kh\u00f4ng l\u00e0m g\u00ec c\u1ea3\n \n if (detect_excep_eeow($str)) { \/\/ c\u00f3 d\u1ea5u v\u00e0 \u00ea, \u01a1 kh\u00f4ng d\u1ea5u c\u00f3 trong t\u1eeb\n $rs = fix_excep_eeow($str); \/\/ nh\u01b0\u1eddng d\u1ea5u cho \u00ea ho\u1eb7c \u01a1\n $do_some_thing = 0; \/\/ sau \u0111\u00f3 kh\u00f4ng l\u00e0m g\u00ec c\u1ea3\n }\n \n if (detect_excep_giqu($str)) { \/\/ n\u1ebfu l\u00e0 g\u00ed v\u00e0 q\u00fa th\u00ec s\u1eeda l\u1ea1i\n $rs = fix_excep_giqu($str); \/\/ ch\u1ec9nh l\u1ea1i d\u1ea5u\n $do_some_thing = 0; \/\/ sau \u0111\u00f3 kh\u00f4ng l\u00e0m g\u00ec c\u1ea3\n } \n \n $num_char = vn_num_char($str); \/\/ l\u1ea5y \u0111\u1ed9 d\u00e0i k\u00fd t\u1ef1\n $post_fnone_acc = vn_post_fnone_acc($str); \/\/ v\u1ecb tr\u00ed nguy\u00ean \u00e2m \u0111\u1ea7u\n $post_lnone_acc = vn_post_lnone_acc($str); \/\/ v\u1ecb tr\u00ed nguy\u00ean \u00e2m cu\u1ed1i\n $post_acc = vn_post_acc($str); \/\/ v\u1ecb tr\u00ed nguy\u00ean \u00e2m c\u00f3 d\u1ea5u\n \n if ($do_some_thing == 1 && vn_num_none_acc_vowel($str)==1) { \/\/ sau khi kh\u00f4ng d\u00ednh v\u00e0o c\u00e1c ngo\u1ea1i l\u1ec7 th\u00ec l\u00e0m nh\u01b0 b\u00ean d\u01b0\u1edbi\n \/\/ c\u00f3 m\u1ed9t nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u\n \n if ($num_char == $post_acc) { \/\/ nguy\u00ean \u00e2m c\u00f3 d\u1ea5u \u1edf v\u1ecb tr\u00ed cu\u1ed1i c\u00f9ng\n \/\/ t\u1ee9c l\u00e0 c\u1ea7n \u0111\u1ea3o v\u1ecb tr\u00ed\n $char_acc = mb_substr($str,$post_acc-1,1); \/\/ l\u1ea5y nguy\u00ean \u00e2m c\u00f3 d\u1ea5u\n $char_none_acc = mb_substr($str,$post_acc-2,1); \/\/ l\u1ea5y nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u\n $old_word_double = $char_none_acc.$char_acc; \/\/ c\u1eb7p c\u0169\n $new_word_double = vn_acc_turn_lr($old_word_double); \/\/ c\u1eb7p m\u1edbi\n \n $pt = '\/'.$old_word_double.'\/';\n $rs = preg_replace($pt, $new_word_double, $str); \/\/ thay th\u1ebf\n }\n \n if ($num_char > $post_lnone_acc && $post_lnone_acc > $post_acc) {\n \/\/ c\u00f3 ph\u1ee5 \u00e2m cu\u1ed1i, v\u00e0 nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u \u0111\u1ee9ng sau nguy\u00ean \u00e2m c\u00f3 d\u1ea5u\n \/\/ c\u0169ng c\u1ea7n ch\u1ec9nh v\u1ecb tr\u00ed\n $char_acc = mb_substr($str,$post_acc-1,1); \/\/ l\u1ea5y nguy\u00ean \u00e2m c\u00f3 d\u1ea5u\n $char_none_acc = mb_substr($str,$post_acc,1); \/\/ l\u1ea5y nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u\n $old_word_double = $char_acc.$char_none_acc; \/\/ c\u1eb7p c\u0169\n $new_word_double = vn_acc_turn_lr($old_word_double); \/\/ c\u1eb7p m\u1edbi\n \n $pt = '\/'.$old_word_double.'\/';\n $rs = preg_replace($pt, $new_word_double, $str); \/\/ thay th\u1ebf \n }\n }\n \n if ($do_some_thing == 1 && vn_num_none_acc_vowel($str)==2) {\/\/ nguy\u00ean \u00e2m ba\n \/\/ ch\u1ec9 c\u1ea7n s\u1eeda khi t\u1eeb c\u00f3 d\u1ea5u kh\u00f4ng n\u1eb1m \u1edf gi\u1eefa\n if ($post_acc > $post_lnone_acc) { \/\/ nguy\u00ean \u00e2m c\u00f3 d\u1ea5u \u1edf v\u1ecb tr\u00ed cu\u1ed1i c\u00f9ng trong c\u00e1c nguy\u00ean \u00e2m\n $char_acc = mb_substr($str,$post_acc-1,1); \/\/ l\u1ea5y nguy\u00ean \u00e2m c\u00f3 d\u1ea5u\n $char_none_acc = mb_substr($str,$post_acc-2,1); \/\/ l\u1ea5y nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u\n $old_word_double = $char_none_acc.$char_acc;\n $new_word_double = vn_acc_turn_lr($old_word_double);\n \n $pt = '\/'.$old_word_double.'\/';\n $rs = preg_replace($pt, $new_word_double, $str); \/\/ thay th\u1ebf\n }\n \n if ($post_fnone_acc > $post_acc) { \/\/ nguy\u00ean \u00e2m c\u00f3 d\u1ea5u \u1edf v\u1ecb tr\u00ed \u0111\u1ea7u ti\u00ean trong c\u00e1c nguy\u00ean \u00e2m\n $char_acc = mb_substr($str,$post_acc-1,1); \/\/ l\u1ea5y nguy\u00ean \u00e2m c\u00f3 d\u1ea5u\n $char_none_acc = mb_substr($str,$post_acc,1); \/\/ l\u1ea5y nguy\u00ean \u00e2m kh\u00f4ng d\u1ea5u th\u1ee9 nh\u1ea5t\n $old_word_double = $char_acc.$char_none_acc; \/\/ c\u1eb7p c\u0169\n $new_word_double = vn_acc_turn_lr($old_word_double); \/\/ c\u1eb7p m\u1edbi\n \n $pt = '\/'.$old_word_double.'\/';\n $rs = preg_replace($pt, $new_word_double, $str); \/\/ thay th\u1ebf\n }\n }\n \nreturn $rs; \/\/ tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 \n}\n\n\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\n\/\/ ch\u1ec9nh v\u1ecb tr\u00ed d\u1ea5u cho chu\u1ed7i nhi\u1ec1u t\u1eeb\nfunction vn_fix_vowel_string($str){\n $rs = '';\n $str2 = pop_hex_convert($str); \/\/ chuy\u1ec3n v\u1ec1 m\u00e3 h\u00f3a ti\u00eau chu\u1ea9n v\u00e0 k\u00fd t\u1ef1 th\u01b0\u1eddng\n \n if (vn_simple_spell_big($str2)) { \/\/ ki\u1ec3m tra ch\u00ednh t\u1ea3\n $words = mb_split(' ', $str2); \/\/ t\u00e1ch ra th\u00e0nh t\u1eebng t\u1eeb\n foreach ($words as $word) {\n if ($word!=NULL){\n $rs.=vn_fix_post_vowel($word).' ';\n } \n }\n }\n \n if ($rs == '') {$rs = $str;} \/\/ d\u1ef1 ph\u00f2ng\n \nreturn $rs; \n}\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/End code<\/code><\/pre>\n\n\n\n
\n\n\n\n<\/span>Gi\u1ea3i th\u00edch m\u00e3<\/span><\/h2>\n\n\n\nT\u00f4i ch\u00fa th\u00edch kh\u00e1 nhi\u1ec1u trong m\u00e3 \u0111\u1ec3 c\u00e1c b\u1ea1n n\u00e0o mu\u1ed1n t\u00ecm hi\u1ec3u c\u00f3 th\u1ec3 th\u1ea5y d\u1ec5 d\u00e0ng h\u01a1n.<\/p>\n\n\n\n
\u0110\u1ec3 gi\u1ea3i quy\u1ebft b\u00e0i to\u00e1n li\u00ean quan \u0111\u1ebfn th\u1ea3 d\u1ea5u t\u00f4i x\u00e2y d\u1ef1ng c\u00e1c h\u00e0m nh\u1ecf gi\u1ea3i quy\u1ebft t\u1eebng v\u1ea5n \u0111\u1ec1 \u0111\u01a1n l\u1ebb m\u1ed9t:<\/p>\n\n\n\n
- T\u1ea1o c\u00e1c h\u00e0m con \u0111\u1ec3 ph\u00e1t hi\u1ec7n c\u00e1c \u01b0u ti\u00ean ngo\u1ea1i l\u1ec7 cho \u00ea, \u01a1, gi, qu;<\/li>
- T\u1ea1o c\u00e1c h\u00e0m con \u0111\u1ec3 \u0111\u1ebfm s\u1ed1 l\u01b0\u1ee3ng nguy\u00ean \u00e2m c\u00f3 d\u1ea5u v\u00e0 kh\u00f4ng d\u1ea5u;<\/li>
- T\u1ea1o c\u00e1c h\u00e0m con \u0111\u1ec3 bi\u1ebft \u0111\u01b0\u1ee3c v\u1ecb tr\u00ed nguy\u00ean \u00e2m c\u00f3 d\u1ea5u v\u00e0 kh\u00f4ng d\u1ea5u;<\/li>
- T\u1ea1o h\u00e0m \u0111\u1ea3o d\u1ea5u;<\/li>
- Th\u1ef1c hi\u1ec7n vi\u1ec7c so s\u00e1nh v\u1ecb tr\u00ed gi\u1eefa nguy\u00ean \u00e2m c\u00f3 d\u1ea5u, kh\u00f4ng d\u1ea5u v\u00e0 s\u1ed1 l\u01b0\u1ee3ng k\u00fd t\u1ef1 c\u1ee7a t\u1eeb \u0111\u1ec3 \u0111i\u1ec1u ch\u1ec9nh d\u1ea5u cho ph\u00f9 h\u1ee3p v\u1edbi quy t\u1eafc;<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"
Tr\u01b0\u1edbc t\u00f4i c\u00f3 vi\u1ebft h\u00e0m chuy\u1ec3n d\u1ea5u thanh, n\u00f3 ho\u1ea1t \u0111\u1ed9ng t\u1ed1t, nh\u01b0ng m\u00e3 r\u1ed1i, m\u00e0 m\u00e3 r\u1ed1i th\u00ec c\u00f3 v\u1ebb v\u1eabn kh\u00f4ng \u1ed5n r\u1ed3i, n\u00ean h\u00f4m nay t\u00f4i s\u1ebd vi\u1ebft l\u1ea1i. V\u1ec1 quy t\u1eafc \u0111\u1eb7t d\u1ea5u thanh ch\u00fang ta d\u00f9ng ki\u1ec3u c\u0169, ph\u1ed5 bi\u1ebfn h\u01a1n. Ch\u00fang ta s\u1ebd kh\u00f4ng tranh c\u00e3i v\u1ec1 m\u1eb7t h\u1ecdc …<\/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
Vi\u1ebft l\u1ea1i h\u00e0m PHP chuy\u1ec3n d\u1ea5u thanh cho t\u1eeb ti\u1ebfng Vi\u1ec7t (v1.2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Vi\u1ebft l\u1ea1i h\u00e0m PHP chuy\u1ec3n d\u1ea5u thanh cho t\u1eeb ti\u1ebfng Vi\u1ec7t (v1.2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/php-chuyen-dau-thanh-v12\/","og_locale":"vi_VN","og_type":"article","og_title":"Vi\u1ebft l\u1ea1i h\u00e0m PHP chuy\u1ec3n d\u1ea5u thanh cho t\u1eeb ti\u1ebfng Vi\u1ec7t (v1.2) • Ki\u1ebfn c\u00e0ng","og_description":"Tr\u01b0\u1edbc t\u00f4i c\u00f3 vi\u1ebft h\u00e0m chuy\u1ec3n d\u1ea5u thanh, n\u00f3 ho\u1ea1t \u0111\u1ed9ng t\u1ed1t, nh\u01b0ng m\u00e3 r\u1ed1i, m\u00e0 m\u00e3 r\u1ed1i th\u00ec c\u00f3 v\u1ebb v\u1eabn kh\u00f4ng \u1ed5n r\u1ed3i, n\u00ean h\u00f4m nay t\u00f4i s\u1ebd vi\u1ebft l\u1ea1i. V\u1ec1 quy t\u1eafc \u0111\u1eb7t d\u1ea5u thanh ch\u00fang ta d\u00f9ng ki\u1ec3u c\u0169, ph\u1ed5 bi\u1ebfn h\u01a1n. Ch\u00fang ta s\u1ebd kh\u00f4ng tranh c\u00e3i v\u1ec1 m\u1eb7t h\u1ecdc …","og_url":"https:\/\/kiencang.net\/php-chuyen-dau-thanh-v12\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-09-18T16:20:02+00:00","author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"13 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/php-chuyen-dau-thanh-v12\/","url":"https:\/\/kiencang.net\/php-chuyen-dau-thanh-v12\/","name":"Vi\u1ebft l\u1ea1i h\u00e0m PHP chuy\u1ec3n d\u1ea5u thanh cho t\u1eeb ti\u1ebfng Vi\u1ec7t (v1.2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-09-18T16:20:02+00:00","dateModified":"2021-09-18T16:20:02+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/php-chuyen-dau-thanh-v12\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/php-chuyen-dau-thanh-v12\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/php-chuyen-dau-thanh-v12\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Vi\u1ebft l\u1ea1i h\u00e0m PHP chuy\u1ec3n d\u1ea5u thanh cho t\u1eeb ti\u1ebfng Vi\u1ec7t (v1.2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/14788"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=14788"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/14788\/revisions"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=14788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=14788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=14788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}