1
1
<?php
2
+
2
3
/**
3
4
* Tools to help with ASCII in UTF-8
4
5
*
@@ -66,11 +67,13 @@ function utf8_is_ascii_ctrl($str)
66
67
function utf8_strip_non_ascii ($ str )
67
68
{
68
69
ob_start ();
69
- while (preg_match (
70
- '/^([\x00-\x7F]+)|([^\x00-\x7F]+)/S ' ,
71
- $ str ,
72
- $ matches
73
- )) {
70
+ while (
71
+ preg_match (
72
+ '/^([\x00-\x7F]+)|([^\x00-\x7F]+)/S ' ,
73
+ $ str ,
74
+ $ matches
75
+ )
76
+ ) {
74
77
if (!isset ($ matches [2 ])) {
75
78
echo $ matches [0 ];
76
79
}
@@ -94,11 +97,13 @@ function utf8_strip_non_ascii($str)
94
97
function utf8_strip_ascii_ctrl ($ str )
95
98
{
96
99
ob_start ();
97
- while (preg_match (
98
- '/^([^\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+)|([\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+)/S ' ,
99
- $ str ,
100
- $ matches
101
- )) {
100
+ while (
101
+ preg_match (
102
+ '/^([^\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+)|([\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+)/S ' ,
103
+ $ str ,
104
+ $ matches
105
+ )
106
+ ) {
102
107
if (!isset ($ matches [2 ])) {
103
108
echo $ matches [0 ];
104
109
}
@@ -122,11 +127,13 @@ function utf8_strip_ascii_ctrl($str)
122
127
function utf8_strip_non_ascii_ctrl ($ str )
123
128
{
124
129
ob_start ();
125
- while (preg_match (
126
- '/^([\x09\x0A\x0D\x20-\x7E]+)|([^\x09\x0A\x0D\x20-\x7E]+)/S ' ,
127
- $ str ,
128
- $ matches
129
- )) {
130
+ while (
131
+ preg_match (
132
+ '/^([\x09\x0A\x0D\x20-\x7E]+)|([^\x09\x0A\x0D\x20-\x7E]+)/S ' ,
133
+ $ str ,
134
+ $ matches
135
+ )
136
+ ) {
130
137
if (!isset ($ matches [2 ])) {
131
138
echo $ matches [0 ];
132
139
}
@@ -159,29 +166,29 @@ function utf8_strip_non_ascii_ctrl($str)
159
166
* @author Andreas Gohr <[email protected] >
160
167
* @package utf8
161
168
*/
162
- function utf8_accents_to_ascii ($ str , $ case= 0 )
169
+ function utf8_accents_to_ascii ($ str , $ case = 0 )
163
170
{
164
171
static $ UTF8_LOWER_ACCENTS = null ;
165
172
static $ UTF8_UPPER_ACCENTS = null ;
166
173
167
174
if ($ case <= 0 ) {
168
175
if (is_null ($ UTF8_LOWER_ACCENTS )) {
169
176
$ UTF8_LOWER_ACCENTS = [
170
- 'à ' => 'a ' , 'ô ' => 'o ' , 'ď ' => 'd ' , 'ḟ ' => 'f ' , 'ë ' => 'e ' , 'š ' => 's ' , 'ơ ' => 'o ' ,
171
- 'ß ' => 'ss ' , 'ă ' => 'a ' , 'ř ' => 'r ' , 'ț ' => 't ' , 'ň ' => 'n ' , 'ā ' => 'a ' , 'ķ ' => 'k ' ,
172
- 'ŝ ' => 's ' , 'ỳ ' => 'y ' , 'ņ ' => 'n ' , 'ĺ ' => 'l ' , 'ħ ' => 'h ' , 'ṗ ' => 'p ' , 'ó ' => 'o ' ,
173
- 'ú ' => 'u ' , 'ě ' => 'e ' , 'é ' => 'e ' , 'ç ' => 'c ' , 'ẁ ' => 'w ' , 'ċ ' => 'c ' , 'õ ' => 'o ' ,
174
- 'ṡ ' => 's ' , 'ø ' => 'o ' , 'ģ ' => 'g ' , 'ŧ ' => 't ' , 'ș ' => 's ' , 'ė ' => 'e ' , 'ĉ ' => 'c ' ,
175
- 'ś ' => 's ' , 'î ' => 'i ' , 'ű ' => 'u ' , 'ć ' => 'c ' , 'ę ' => 'e ' , 'ŵ ' => 'w ' , 'ṫ ' => 't ' ,
176
- 'ū ' => 'u ' , 'č ' => 'c ' , 'ö ' => 'oe ' , 'è ' => 'e ' , 'ŷ ' => 'y ' , 'ą ' => 'a ' , 'ł ' => 'l ' ,
177
- 'ų ' => 'u ' , 'ů ' => 'u ' , 'ş ' => 's ' , 'ğ ' => 'g ' , 'ļ ' => 'l ' , 'ƒ ' => 'f ' , 'ž ' => 'z ' ,
178
- 'ẃ ' => 'w ' , 'ḃ ' => 'b ' , 'å ' => 'a ' , 'ì ' => 'i ' , 'ï ' => 'i ' , 'ḋ ' => 'd ' , 'ť ' => 't ' ,
179
- 'ŗ ' => 'r ' , 'ä ' => 'ae ' , 'í ' => 'i ' , 'ŕ ' => 'r ' , 'ê ' => 'e ' , 'ü ' => 'ue ' , 'ò ' => 'o ' ,
180
- 'ē ' => 'e ' , 'ñ ' => 'n ' , 'ń ' => 'n ' , 'ĥ ' => 'h ' , 'ĝ ' => 'g ' , 'đ ' => 'd ' , 'ĵ ' => 'j ' ,
181
- 'ÿ ' => 'y ' , 'ũ ' => 'u ' , 'ŭ ' => 'u ' , 'ư ' => 'u ' , 'ţ ' => 't ' , 'ý ' => 'y ' , 'ő ' => 'o ' ,
182
- 'â ' => 'a ' , 'ľ ' => 'l ' , 'ẅ ' => 'w ' , 'ż ' => 'z ' , 'ī ' => 'i ' , 'ã ' => 'a ' , 'ġ ' => 'g ' ,
183
- 'ṁ ' => 'm ' , 'ō ' => 'o ' , 'ĩ ' => 'i ' , 'ù ' => 'u ' , 'į ' => 'i ' , 'ź ' => 'z ' , 'á ' => 'a ' ,
184
- 'û ' => 'u ' , 'þ ' => 'th ' , 'ð ' => 'dh ' , 'æ ' => 'ae ' , 'µ ' => 'u ' , 'ĕ ' => 'e ' ,
177
+ 'à ' => 'a ' , 'ô ' => 'o ' , 'ď ' => 'd ' , 'ḟ ' => 'f ' , 'ë ' => 'e ' , 'š ' => 's ' , 'ơ ' => 'o ' ,
178
+ 'ß ' => 'ss ' , 'ă ' => 'a ' , 'ř ' => 'r ' , 'ț ' => 't ' , 'ň ' => 'n ' , 'ā ' => 'a ' , 'ķ ' => 'k ' ,
179
+ 'ŝ ' => 's ' , 'ỳ ' => 'y ' , 'ņ ' => 'n ' , 'ĺ ' => 'l ' , 'ħ ' => 'h ' , 'ṗ ' => 'p ' , 'ó ' => 'o ' ,
180
+ 'ú ' => 'u ' , 'ě ' => 'e ' , 'é ' => 'e ' , 'ç ' => 'c ' , 'ẁ ' => 'w ' , 'ċ ' => 'c ' , 'õ ' => 'o ' ,
181
+ 'ṡ ' => 's ' , 'ø ' => 'o ' , 'ģ ' => 'g ' , 'ŧ ' => 't ' , 'ș ' => 's ' , 'ė ' => 'e ' , 'ĉ ' => 'c ' ,
182
+ 'ś ' => 's ' , 'î ' => 'i ' , 'ű ' => 'u ' , 'ć ' => 'c ' , 'ę ' => 'e ' , 'ŵ ' => 'w ' , 'ṫ ' => 't ' ,
183
+ 'ū ' => 'u ' , 'č ' => 'c ' , 'ö ' => 'oe ' , 'è ' => 'e ' , 'ŷ ' => 'y ' , 'ą ' => 'a ' , 'ł ' => 'l ' ,
184
+ 'ų ' => 'u ' , 'ů ' => 'u ' , 'ş ' => 's ' , 'ğ ' => 'g ' , 'ļ ' => 'l ' , 'ƒ ' => 'f ' , 'ž ' => 'z ' ,
185
+ 'ẃ ' => 'w ' , 'ḃ ' => 'b ' , 'å ' => 'a ' , 'ì ' => 'i ' , 'ï ' => 'i ' , 'ḋ ' => 'd ' , 'ť ' => 't ' ,
186
+ 'ŗ ' => 'r ' , 'ä ' => 'ae ' , 'í ' => 'i ' , 'ŕ ' => 'r ' , 'ê ' => 'e ' , 'ü ' => 'ue ' , 'ò ' => 'o ' ,
187
+ 'ē ' => 'e ' , 'ñ ' => 'n ' , 'ń ' => 'n ' , 'ĥ ' => 'h ' , 'ĝ ' => 'g ' , 'đ ' => 'd ' , 'ĵ ' => 'j ' ,
188
+ 'ÿ ' => 'y ' , 'ũ ' => 'u ' , 'ŭ ' => 'u ' , 'ư ' => 'u ' , 'ţ ' => 't ' , 'ý ' => 'y ' , 'ő ' => 'o ' ,
189
+ 'â ' => 'a ' , 'ľ ' => 'l ' , 'ẅ ' => 'w ' , 'ż ' => 'z ' , 'ī ' => 'i ' , 'ã ' => 'a ' , 'ġ ' => 'g ' ,
190
+ 'ṁ ' => 'm ' , 'ō ' => 'o ' , 'ĩ ' => 'i ' , 'ù ' => 'u ' , 'į ' => 'i ' , 'ź ' => 'z ' , 'á ' => 'a ' ,
191
+ 'û ' => 'u ' , 'þ ' => 'th ' , 'ð ' => 'dh ' , 'æ ' => 'ae ' , 'µ ' => 'u ' , 'ĕ ' => 'e ' ,
185
192
];
186
193
}
187
194
@@ -195,21 +202,21 @@ function utf8_accents_to_ascii($str, $case=0)
195
202
if ($ case >= 0 ) {
196
203
if (is_null ($ UTF8_UPPER_ACCENTS )) {
197
204
$ UTF8_UPPER_ACCENTS = [
198
- 'À ' => 'A ' , 'Ô ' => 'O ' , 'Ď ' => 'D ' , 'Ḟ ' => 'F ' , 'Ë ' => 'E ' , 'Š ' => 'S ' , 'Ơ ' => 'O ' ,
199
- 'Ă ' => 'A ' , 'Ř ' => 'R ' , 'Ț ' => 'T ' , 'Ň ' => 'N ' , 'Ā ' => 'A ' , 'Ķ ' => 'K ' ,
200
- 'Ŝ ' => 'S ' , 'Ỳ ' => 'Y ' , 'Ņ ' => 'N ' , 'Ĺ ' => 'L ' , 'Ħ ' => 'H ' , 'Ṗ ' => 'P ' , 'Ó ' => 'O ' ,
201
- 'Ú ' => 'U ' , 'Ě ' => 'E ' , 'É ' => 'E ' , 'Ç ' => 'C ' , 'Ẁ ' => 'W ' , 'Ċ ' => 'C ' , 'Õ ' => 'O ' ,
202
- 'Ṡ ' => 'S ' , 'Ø ' => 'O ' , 'Ģ ' => 'G ' , 'Ŧ ' => 'T ' , 'Ș ' => 'S ' , 'Ė ' => 'E ' , 'Ĉ ' => 'C ' ,
203
- 'Ś ' => 'S ' , 'Î ' => 'I ' , 'Ű ' => 'U ' , 'Ć ' => 'C ' , 'Ę ' => 'E ' , 'Ŵ ' => 'W ' , 'Ṫ ' => 'T ' ,
204
- 'Ū ' => 'U ' , 'Č ' => 'C ' , 'Ö ' => 'Oe ' , 'È ' => 'E ' , 'Ŷ ' => 'Y ' , 'Ą ' => 'A ' , 'Ł ' => 'L ' ,
205
- 'Ų ' => 'U ' , 'Ů ' => 'U ' , 'Ş ' => 'S ' , 'Ğ ' => 'G ' , 'Ļ ' => 'L ' , 'Ƒ ' => 'F ' , 'Ž ' => 'Z ' ,
206
- 'Ẃ ' => 'W ' , 'Ḃ ' => 'B ' , 'Å ' => 'A ' , 'Ì ' => 'I ' , 'Ï ' => 'I ' , 'Ḋ ' => 'D ' , 'Ť ' => 'T ' ,
207
- 'Ŗ ' => 'R ' , 'Ä ' => 'Ae ' , 'Í ' => 'I ' , 'Ŕ ' => 'R ' , 'Ê ' => 'E ' , 'Ü ' => 'Ue ' , 'Ò ' => 'O ' ,
208
- 'Ē ' => 'E ' , 'Ñ ' => 'N ' , 'Ń ' => 'N ' , 'Ĥ ' => 'H ' , 'Ĝ ' => 'G ' , 'Đ ' => 'D ' , 'Ĵ ' => 'J ' ,
209
- 'Ÿ ' => 'Y ' , 'Ũ ' => 'U ' , 'Ŭ ' => 'U ' , 'Ư ' => 'U ' , 'Ţ ' => 'T ' , 'Ý ' => 'Y ' , 'Ő ' => 'O ' ,
210
- 'Â ' => 'A ' , 'Ľ ' => 'L ' , 'Ẅ ' => 'W ' , 'Ż ' => 'Z ' , 'Ī ' => 'I ' , 'Ã ' => 'A ' , 'Ġ ' => 'G ' ,
211
- 'Ṁ ' => 'M ' , 'Ō ' => 'O ' , 'Ĩ ' => 'I ' , 'Ù ' => 'U ' , 'Į ' => 'I ' , 'Ź ' => 'Z ' , 'Á ' => 'A ' ,
212
- 'Û ' => 'U ' , 'Þ ' => 'Th ' , 'Ð ' => 'Dh ' , 'Æ ' => 'Ae ' , 'Ĕ ' => 'E ' ,
205
+ 'À ' => 'A ' , 'Ô ' => 'O ' , 'Ď ' => 'D ' , 'Ḟ ' => 'F ' , 'Ë ' => 'E ' , 'Š ' => 'S ' , 'Ơ ' => 'O ' ,
206
+ 'Ă ' => 'A ' , 'Ř ' => 'R ' , 'Ț ' => 'T ' , 'Ň ' => 'N ' , 'Ā ' => 'A ' , 'Ķ ' => 'K ' ,
207
+ 'Ŝ ' => 'S ' , 'Ỳ ' => 'Y ' , 'Ņ ' => 'N ' , 'Ĺ ' => 'L ' , 'Ħ ' => 'H ' , 'Ṗ ' => 'P ' , 'Ó ' => 'O ' ,
208
+ 'Ú ' => 'U ' , 'Ě ' => 'E ' , 'É ' => 'E ' , 'Ç ' => 'C ' , 'Ẁ ' => 'W ' , 'Ċ ' => 'C ' , 'Õ ' => 'O ' ,
209
+ 'Ṡ ' => 'S ' , 'Ø ' => 'O ' , 'Ģ ' => 'G ' , 'Ŧ ' => 'T ' , 'Ș ' => 'S ' , 'Ė ' => 'E ' , 'Ĉ ' => 'C ' ,
210
+ 'Ś ' => 'S ' , 'Î ' => 'I ' , 'Ű ' => 'U ' , 'Ć ' => 'C ' , 'Ę ' => 'E ' , 'Ŵ ' => 'W ' , 'Ṫ ' => 'T ' ,
211
+ 'Ū ' => 'U ' , 'Č ' => 'C ' , 'Ö ' => 'Oe ' , 'È ' => 'E ' , 'Ŷ ' => 'Y ' , 'Ą ' => 'A ' , 'Ł ' => 'L ' ,
212
+ 'Ų ' => 'U ' , 'Ů ' => 'U ' , 'Ş ' => 'S ' , 'Ğ ' => 'G ' , 'Ļ ' => 'L ' , 'Ƒ ' => 'F ' , 'Ž ' => 'Z ' ,
213
+ 'Ẃ ' => 'W ' , 'Ḃ ' => 'B ' , 'Å ' => 'A ' , 'Ì ' => 'I ' , 'Ï ' => 'I ' , 'Ḋ ' => 'D ' , 'Ť ' => 'T ' ,
214
+ 'Ŗ ' => 'R ' , 'Ä ' => 'Ae ' , 'Í ' => 'I ' , 'Ŕ ' => 'R ' , 'Ê ' => 'E ' , 'Ü ' => 'Ue ' , 'Ò ' => 'O ' ,
215
+ 'Ē ' => 'E ' , 'Ñ ' => 'N ' , 'Ń ' => 'N ' , 'Ĥ ' => 'H ' , 'Ĝ ' => 'G ' , 'Đ ' => 'D ' , 'Ĵ ' => 'J ' ,
216
+ 'Ÿ ' => 'Y ' , 'Ũ ' => 'U ' , 'Ŭ ' => 'U ' , 'Ư ' => 'U ' , 'Ţ ' => 'T ' , 'Ý ' => 'Y ' , 'Ő ' => 'O ' ,
217
+ 'Â ' => 'A ' , 'Ľ ' => 'L ' , 'Ẅ ' => 'W ' , 'Ż ' => 'Z ' , 'Ī ' => 'I ' , 'Ã ' => 'A ' , 'Ġ ' => 'G ' ,
218
+ 'Ṁ ' => 'M ' , 'Ō ' => 'O ' , 'Ĩ ' => 'I ' , 'Ù ' => 'U ' , 'Į ' => 'I ' , 'Ź ' => 'Z ' , 'Á ' => 'A ' ,
219
+ 'Û ' => 'U ' , 'Þ ' => 'Th ' , 'Ð ' => 'Dh ' , 'Æ ' => 'Ae ' , 'Ĕ ' => 'E ' ,
213
220
];
214
221
}
215
222
$ str = str_replace (
0 commit comments