-
Notifications
You must be signed in to change notification settings - Fork 0
/
convertV2E.php
65 lines (63 loc) · 2.62 KB
/
convertV2E.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
/**
@author info@nguyenanhung.com
@target convert 1 doan tu tieng Viet sang ky tu khong dau
@license Apache 2.0
@function convertV2E
@filename convertV2E.php
**/
function convertV2E($str, $tolower = false, $callby = '', $slug = false) {
$chars = array(
'a' => array('ấ','ầ','ẩ','ẫ','ậ','Ấ','Ầ','Ẩ','Ẫ','Ậ','ắ','ằ','ẳ','ẵ','ặ','Ắ','Ằ','Ẳ','Ẵ','Ặ','á','à','ả','ã','ạ','â','ă','Á','À','Ả','Ã','Ạ','Â','Ă','å','Ä','ä','aÌ'),
'e' => array('ế','ề','ể','ễ','ệ','Ế','Ề','Ể','Ễ','Ệ','é','è','ẻ','ẽ','ẹ','ê','É','È','Ẻ','Ẽ','Ẹ','Ê','ë','eÌ'),
'i' => array('í','ì','ỉ','ĩ','ị','Í','Ì','Ỉ','Ĩ','Ị','î','iÌ'),
'o' => array('ố','ồ','ổ','ỗ','ộ','Ố','Ồ','Ổ','Ô','Ộ','ớ','ờ','ở','ỡ','ợ','Ớ','Ờ','Ở','Ỡ','Ợ','ó','ò','ỏ','õ','ọ','ô','ơ','Ó','Ò','Ỏ','Õ','Ọ','Ô','Ơ','ø','ö','Ö','oÌ'),
'u' => array('ứ','ừ','ử','ữ','ự','Ứ','Ừ','Ử','Ữ','Ự','ú','ù','ủ','ũ','ụ','ư','Ú','Ù','Ủ','Ũ','Ụ','Ư','û','ů','ü','Ü','iÌ'),
'y' => array('ý','ỳ','ỷ','ỹ','ỵ','Ý','Ỳ','Ỷ','Ỹ','Ỵ','yÌ'),
'd' => array('đ','Đ','ð'),
'' => array('amp;', 'lt;', 'gt;', '.', 'quot;', '#92;', '#39','?','"',"'",'#',';',':','$','%','&'),
'-' => array('----','---','--'),
'ae' => array('æ'),
'b' => array('ß'),
'c' => array('ç'),
'n' => array('ñ')
);
foreach ($chars as $key => $arr) {
foreach ($arr as $val) {
if ($tolower) {
$str = strtolower(str_replace($val,$key,$str));
} else {
$str = str_replace($val,$key,$str);
}
}
}
if ($callby == 'postname') {
$str = str_replace(' | ', '', $str);
$str = str_replace(' : ', ' ', $str);
$str = str_replace(': ', ' ', $str);
$str = str_replace(' :', ' ', $str);
$str = str_replace(':', '', $str);
$str = str_replace(' ! ', ' ', $str);
$str = str_replace('! ', ' ', $str);
$str = str_replace(' !', ' ', $str);
$str = str_replace('!', '', $str);
$str = str_replace(' + ', ' ', $str);
$str = str_replace('+ ', ' ', $str);
$str = str_replace(' +', ' ', $str);
$str = str_replace('+', '', $str);
$str = str_replace(' & ', ' ', $str);
$str = str_replace('& ', ' ', $str);
$str = str_replace(' - ', ' ', $str);
$str = str_replace(', ', ' ', $str);
$str = str_replace(',', '', $str);
$str = str_replace("'",' ',$str);
$str = str_replace('"',' ',$str);
}
if ($slug) {
$str = trim($str);
$str = preg_replace(array("/[^a-zA-Z0-9 -]/","/[ -]+/","/^-|-$/"), array('','-',''), htmlspecialchars_decode($str));
} else {
$str = trim($str);
}
return $str;
}