1<?php
2
3/**
4 * UTF-8 array of common special characters
5 *
6 * This array should contain all special characters (not a letter or digit)
7 * defined in the various local charsets - it's not a complete list of non-alphanum
8 * characters in UTF-8. It's not perfect but should match most cases of special
9 * chars.
10 *
11 * The controlchars 0x00 to 0x19 are _not_ included in this array. The space 0x20 is!
12 * These chars are _not_ in the array either:  _ (0x5f), : 0x3a, . 0x2e, - 0x2d, * 0x2a
13 *
14 * @author Andreas Gohr <andi@splitbrain.org>
15 * @see    \dokuwiki\Utf8\Clean::stripspecials()
16 */
17
18return [
19    0x1a, // 
20    0x1b, // 
21    0x1c, // 
22    0x1d, // 
23    0x1e, // 
24    0x1f, // 
25    0x20, // <space>
26    0x21, // !
27    0x22, // "
28    0x23, // #
29    0x24, // $
30    0x25, // %
31    0x26, // &
32    0x27, // '
33    0x28, // (
34    0x29, // )
35    0x2b, // +
36    0x2c, // ,
37    0x2f, // /
38    0x3b, // ;
39    0x3c, // <
40    0x3d, // =
41    0x3e, // >
42    0x3f, // ?
43    0x40, // @
44    0x5b, // [
45    0x5c, // \
46    0x5d, // ]
47    0x5e, // ^
48    0x60, // `
49    0x7b, // {
50    0x7c, // |
51    0x7d, // }
52    0x7e, // ~
53    0x7f, // 
54    0x80, // €
55    0x81, // 
56    0x82, // ‚
57    0x83, // ƒ
58    0x84, // „
59    0x85, // …
60    0x86, // †
61    0x87, // ‡
62    0x88, // ˆ
63    0x89, // ‰
64    0x8a, // Š
65    0x8b, // ‹
66    0x8c, // Œ
67    0x8d, // 
68    0x8e, // Ž
69    0x8f, // 
70    0x90, // 
71    0x91, // ‘
72    0x92, // ’
73    0x93, // “
74    0x94, // ”
75    0x95, // •
76    0x96, // –
77    0x97, // —
78    0x98, // ˜
79    0x99, // ™
80    0x9a, // š
81    0x9b, // ›
82    0x9c, // œ
83    0x9d, // 
84    0x9e, // ž
85    0x9f, // Ÿ
86    0xa0, //  
87    0xa1, // ¡
88    0xa2, // ¢
89    0xa3, // £
90    0xa4, // ¤
91    0xa5, // ¥
92    0xa6, // ¦
93    0xa7, // §
94    0xa8, // ¨
95    0xa9, // ©
96    0xaa, // ª
97    0xab, // «
98    0xac, // ¬
99    0xad, // ­
100    0xae, // ®
101    0xaf, // ¯
102    0xb0, // °
103    0xb1, // ±
104    0xb2, // ²
105    0xb3, // ³
106    0xb4, // ´
107    0xb5, // µ
108    0xb6, // ¶
109    0xb7, // ·
110    0xb8, // ¸
111    0xb9, // ¹
112    0xba, // º
113    0xbb, // »
114    0xbc, // ¼
115    0xbd, // ½
116    0xbe, // ¾
117    0xbf, // ¿
118    0xd7, // ×
119    0xf7, // ÷
120    0x2c7, // ˇ
121    0x2d8, // ˘
122    0x2d9, // ˙
123    0x2da, // ˚
124    0x2db, // ˛
125    0x2dc, // ˜
126    0x2dd, // ˝
127    0x300, // ̀
128    0x301, // ́
129    0x303, // ̃
130    0x309, // ̉
131    0x323, // ̣
132    0x384, // ΄
133    0x385, // ΅
134    0x387, // ·
135    0x5b0, // ְ
136    0x5b1, // ֱ
137    0x5b2, // ֲ
138    0x5b3, // ֳ
139    0x5b4, // ִ
140    0x5b5, // ֵ
141    0x5b6, // ֶ
142    0x5b7, // ַ
143    0x5b8, // ָ
144    0x5b9, // ֹ
145    0x5bb, // ֻ
146    0x5bc, // ּ
147    0x5bd, // ֽ
148    0x5be, // ־
149    0x5bf, // ֿ
150    0x5c0, // ׀
151    0x5c1, // ׁ
152    0x5c2, // ׂ
153    0x5c3, // ׃
154    0x5f3, // ׳
155    0x5f4, // ״
156    0x60c, // ،
157    0x61b, // ؛
158    0x61f, // ؟
159    0x640, // ـ
160    0x64b, // ً
161    0x64c, // ٌ
162    0x64d, // ٍ
163    0x64e, // َ
164    0x64f, // ُ
165    0x650, // ِ
166    0x651, // ّ
167    0x652, // ْ
168    0x66a, // ٪
169    0xe3f, // ฿
170    0x200c, // ‌
171    0x200d, // ‍
172    0x200e, // ‎
173    0x200f, // ‏
174    0x2013, // –
175    0x2014, // —
176    0x2015, // ―
177    0x2017, // ‗
178    0x2018, // ‘
179    0x2019, // ’
180    0x201a, // ‚
181    0x201c, // “
182    0x201d, // ”
183    0x201e, // „
184    0x2020, // †
185    0x2021, // ‡
186    0x2022, // •
187    0x2026, // …
188    0x2030, // ‰
189    0x2032, // ′
190    0x2033, // ″
191    0x2039, // ‹
192    0x203a, // ›
193    0x2044, // ⁄
194    0x20a7, // ₧
195    0x20aa, // ₪
196    0x20ab, // ₫
197    0x20ac, // €
198    0x2116, // №
199    0x2118, // ℘
200    0x2122, // ™
201    0x2126, // Ω
202    0x2135, // ℵ
203    0x2190, // ←
204    0x2191, // ↑
205    0x2192, // →
206    0x2193, // ↓
207    0x2194, // ↔
208    0x2195, // ↕
209    0x21b5, // ↵
210    0x21d0, // ⇐
211    0x21d1, // ⇑
212    0x21d2, // ⇒
213    0x21d3, // ⇓
214    0x21d4, // ⇔
215    0x2200, // ∀
216    0x2202, // ∂
217    0x2203, // ∃
218    0x2205, // ∅
219    0x2206, // ∆
220    0x2207, // ∇
221    0x2208, // ∈
222    0x2209, // ∉
223    0x220b, // ∋
224    0x220f, // ∏
225    0x2211, // ∑
226    0x2212, // −
227    0x2215, // ∕
228    0x2217, // ∗
229    0x2219, // ∙
230    0x221a, // √
231    0x221d, // ∝
232    0x221e, // ∞
233    0x2220, // ∠
234    0x2227, // ∧
235    0x2228, // ∨
236    0x2229, // ∩
237    0x222a, // ∪
238    0x222b, // ∫
239    0x2234, // ∴
240    0x223c, // ∼
241    0x2245, // ≅
242    0x2248, // ≈
243    0x2260, // ≠
244    0x2261, // ≡
245    0x2264, // ≤
246    0x2265, // ≥
247    0x2282, // ⊂
248    0x2283, // ⊃
249    0x2284, // ⊄
250    0x2286, // ⊆
251    0x2287, // ⊇
252    0x2295, // ⊕
253    0x2297, // ⊗
254    0x22a5, // ⊥
255    0x22c5, // ⋅
256    0x2310, // ⌐
257    0x2320, // ⌠
258    0x2321, // ⌡
259    0x2329, // 〈
260    0x232a, // 〉
261    0x2469, // ⑩
262    0x2500, // ─
263    0x2502, // │
264    0x250c, // ┌
265    0x2510, // ┐
266    0x2514, // └
267    0x2518, // ┘
268    0x251c, // ├
269    0x2524, // ┤
270    0x252c, // ┬
271    0x2534, // ┴
272    0x253c, // ┼
273    0x2550, // ═
274    0x2551, // ║
275    0x2552, // ╒
276    0x2553, // ╓
277    0x2554, // ╔
278    0x2555, // ╕
279    0x2556, // ╖
280    0x2557, // ╗
281    0x2558, // ╘
282    0x2559, // ╙
283    0x255a, // ╚
284    0x255b, // ╛
285    0x255c, // ╜
286    0x255d, // ╝
287    0x255e, // ╞
288    0x255f, // ╟
289    0x2560, // ╠
290    0x2561, // ╡
291    0x2562, // ╢
292    0x2563, // ╣
293    0x2564, // ╤
294    0x2565, // ╥
295    0x2566, // ╦
296    0x2567, // ╧
297    0x2568, // ╨
298    0x2569, // ╩
299    0x256a, // ╪
300    0x256b, // ╫
301    0x256c, // ╬
302    0x2580, // ▀
303    0x2584, // ▄
304    0x2588, // █
305    0x258c, // ▌
306    0x2590, // ▐
307    0x2591, // ░
308    0x2592, // ▒
309    0x2593, // ▓
310    0x25a0, // ■
311    0x25b2, // ▲
312    0x25bc, // ▼
313    0x25c6, // ◆
314    0x25ca, // ◊
315    0x25cf, // ●
316    0x25d7, // ◗
317    0x2605, // ★
318    0x260e, // ☎
319    0x261b, // ☛
320    0x261e, // ☞
321    0x2660, // ♠
322    0x2663, // ♣
323    0x2665, // ♥
324    0x2666, // ♦
325    0x2701, // ✁
326    0x2702, // ✂
327    0x2703, // ✃
328    0x2704, // ✄
329    0x2706, // ✆
330    0x2707, // ✇
331    0x2708, // ✈
332    0x2709, // ✉
333    0x270c, // ✌
334    0x270d, // ✍
335    0x270e, // ✎
336    0x270f, // ✏
337    0x2710, // ✐
338    0x2711, // ✑
339    0x2712, // ✒
340    0x2713, // ✓
341    0x2714, // ✔
342    0x2715, // ✕
343    0x2716, // ✖
344    0x2717, // ✗
345    0x2718, // ✘
346    0x2719, // ✙
347    0x271a, // ✚
348    0x271b, // ✛
349    0x271c, // ✜
350    0x271d, // ✝
351    0x271e, // ✞
352    0x271f, // ✟
353    0x2720, // ✠
354    0x2721, // ✡
355    0x2722, // ✢
356    0x2723, // ✣
357    0x2724, // ✤
358    0x2725, // ✥
359    0x2726, // ✦
360    0x2727, // ✧
361    0x2729, // ✩
362    0x272a, // ✪
363    0x272b, // ✫
364    0x272c, // ✬
365    0x272d, // ✭
366    0x272e, // ✮
367    0x272f, // ✯
368    0x2730, // ✰
369    0x2731, // ✱
370    0x2732, // ✲
371    0x2733, // ✳
372    0x2734, // ✴
373    0x2735, // ✵
374    0x2736, // ✶
375    0x2737, // ✷
376    0x2738, // ✸
377    0x2739, // ✹
378    0x273a, // ✺
379    0x273b, // ✻
380    0x273c, // ✼
381    0x273d, // ✽
382    0x273e, // ✾
383    0x273f, // ✿
384    0x2740, // ❀
385    0x2741, // ❁
386    0x2742, // ❂
387    0x2743, // ❃
388    0x2744, // ❄
389    0x2745, // ❅
390    0x2746, // ❆
391    0x2747, // ❇
392    0x2748, // ❈
393    0x2749, // ❉
394    0x274a, // ❊
395    0x274b, // ❋
396    0x274d, // ❍
397    0x274f, // ❏
398    0x2750, // ❐
399    0x2751, // ❑
400    0x2752, // ❒
401    0x2756, // ❖
402    0x2758, // ❘
403    0x2759, // ❙
404    0x275a, // ❚
405    0x275b, // ❛
406    0x275c, // ❜
407    0x275d, // ❝
408    0x275e, // ❞
409    0x2761, // ❡
410    0x2762, // ❢
411    0x2763, // ❣
412    0x2764, // ❤
413    0x2765, // ❥
414    0x2766, // ❦
415    0x2767, // ❧
416    0x277f, // ❿
417    0x2789, // ➉
418    0x2793, // ➓
419    0x2794, // ➔
420    0x2798, // ➘
421    0x2799, // ➙
422    0x279a, // ➚
423    0x279b, // ➛
424    0x279c, // ➜
425    0x279d, // ➝
426    0x279e, // ➞
427    0x279f, // ➟
428    0x27a0, // ➠
429    0x27a1, // ➡
430    0x27a2, // ➢
431    0x27a3, // ➣
432    0x27a4, // ➤
433    0x27a5, // ➥
434    0x27a6, // ➦
435    0x27a7, // ➧
436    0x27a8, // ➨
437    0x27a9, // ➩
438    0x27aa, // ➪
439    0x27ab, // ➫
440    0x27ac, // ➬
441    0x27ad, // ➭
442    0x27ae, // ➮
443    0x27af, // ➯
444    0x27b1, // ➱
445    0x27b2, // ➲
446    0x27b3, // ➳
447    0x27b4, // ➴
448    0x27b5, // ➵
449    0x27b6, // ➶
450    0x27b7, // ➷
451    0x27b8, // ➸
452    0x27b9, // ➹
453    0x27ba, // ➺
454    0x27bb, // ➻
455    0x27bc, // ➼
456    0x27bd, // ➽
457    0x27be, // ➾
458    0x3000, //  
459    0x3001, // 、
460    0x3002, // 。
461    0x3003, // 〃
462    0x3008, // 〈
463    0x3009, // 〉
464    0x300a, // 《
465    0x300b, // 》
466    0x300c, // 「
467    0x300d, // 」
468    0x300e, // 『
469    0x300f, // 』
470    0x3010, // 【
471    0x3011, // 】
472    0x3012, // 〒
473    0x3014, // 〔
474    0x3015, // 〕
475    0x3016, // 〖
476    0x3017, // 〗
477    0x3018, // 〘
478    0x3019, // 〙
479    0x301a, // 〚
480    0x301b, // 〛
481    0x3036, // 〶
482    0xf6d9, // 
483    0xf6da, // 
484    0xf6db, // 
485    0xf8d7, // 
486    0xf8d8, // 
487    0xf8d9, // 
488    0xf8da, // 
489    0xf8db, // 
490    0xf8dc, // 
491    0xf8dd, // 
492    0xf8de, // 
493    0xf8df, // 
494    0xf8e0, // 
495    0xf8e1, // 
496    0xf8e2, // 
497    0xf8e3, // 
498    0xf8e4, // 
499    0xf8e5, // 
500    0xf8e6, // 
501    0xf8e7, // 
502    0xf8e8, // 
503    0xf8e9, // 
504    0xf8ea, // 
505    0xf8eb, // 
506    0xf8ec, // 
507    0xf8ed, // 
508    0xf8ee, // 
509    0xf8ef, // 
510    0xf8f0, // 
511    0xf8f1, // 
512    0xf8f2, // 
513    0xf8f3, // 
514    0xf8f4, // 
515    0xf8f5, // 
516    0xf8f6, // 
517    0xf8f7, // 
518    0xf8f8, // 
519    0xf8f9, // 
520    0xf8fa, // 
521    0xf8fb, // 
522    0xf8fc, // 
523    0xf8fd, // 
524    0xf8fe, // 
525    0xfe7c, // ﹼ
526    0xfe7d, // ﹽ
527    0xff01, // !
528    0xff02, // "
529    0xff03, // #
530    0xff04, // $
531    0xff05, // %
532    0xff06, // &
533    0xff07, // '
534    0xff08, // (
535    0xff09, // )
536    0xff09, // )
537    0xff0a, // *
538    0xff0b, // +
539    0xff0c, // ,
540    0xff0d, // -
541    0xff0e, // .
542    0xff0f, // /
543    0xff1a, // :
544    0xff1b, // ;
545    0xff1c, // <
546    0xff1d, // =
547    0xff1e, // >
548    0xff1f, // ?
549    0xff20, // @
550    0xff3b, // [
551    0xff3c, // \
552    0xff3d, // ]
553    0xff3e, // ^
554    0xff40, // `
555    0xff5b, // {
556    0xff5c, // |
557    0xff5d, // }
558    0xff5e, // ~
559    0xff5f, // ⦅
560    0xff60, // ⦆
561    0xff61, // 。
562    0xff62, // 「
563    0xff63, // 」
564    0xff64, // 、
565    0xff65, // ・
566    0xffe0, // ¢
567    0xffe1, // £
568    0xffe2, // ¬
569    0xffe3, //  ̄
570    0xffe4, // ¦
571    0xffe5, // ¥
572    0xffe6, // ₩
573    0xffe8, // │
574    0xffe9, // ←
575    0xffea, // ↑
576    0xffeb, // →
577    0xffec, // ↓
578    0xffed, // ■
579    0xffee, // ○
580    0x1d6fc, // ��
581    0x1d6fd, // ��
582    0x1d6fe, // ��
583    0x1d6ff, // ��
584    0x1d700, // ��
585    0x1d701, // ��
586    0x1d702, // ��
587    0x1d703, // ��
588    0x1d704, // ��
589    0x1d705, // ��
590    0x1d706, // ��
591    0x1d707, // ��
592    0x1d708, // ��
593    0x1d709, // ��
594    0x1d70a, // ��
595    0x1d70b, // ��
596    0x1d70c, // ��
597    0x1d70d, // ��
598    0x1d70e, // ��
599    0x1d70f, // ��
600    0x1d710, // ��
601    0x1d711, // ��
602    0x1d712, // ��
603    0x1d713, // ��
604    0x1d714, // ��
605    0x1d715, // ��
606    0x1d716, // ��
607    0x1d717, // ��
608    0x1d718, // ��
609    0x1d719, // ��
610    0x1d71a, // ��
611    0x1d71b, // ��
612    0xc2a0, // 슠
613    0xe28087, //
614    0xe280af, //
615    0xe281a0, //
616    0xefbbbf, //
617];
618