]>
git.immae.eu Git - github/wallabag/wallabag.git/blob - inc/3rdparty/libraries/MOBIClass/CharacterEntities.php
4 * Description of CharacterEntities
8 class CharacterEntities
{
9 public static function convert($str){
10 //Assume the encoding is UTF-8 -> output is UTF-8
12 //return utf8_encode($str);
14 list($from, $to) = CharacterEntities
::generateTables();
15 return str_replace($from, $to, $str);
18 private static function generateTables(){
22 for($i = 0; $i < 256; $i++
){
23 $from[$i] = $to[$i] = chr($i);
156 return array($from, $to);
160 01 = U+0001 : START OF HEADING
161 02 = U+0002 : START OF TEXT
162 03 = U+0003 : END OF TEXT
163 04 = U+0004 : END OF TRANSMISSION
164 05 = U+0005 : ENQUIRY
165 06 = U+0006 : ACKNOWLEDGE
167 08 = U+0008 : BACKSPACE
168 09 = U+0009 : HORIZONTAL TABULATION
169 0A = U+000A : LINE FEED
170 0B = U+000B : VERTICAL TABULATION
171 0C = U+000C : FORM FEED
172 0D = U+000D : CARRIAGE RETURN
173 0E = U+000E : SHIFT OUT
174 0F = U+000F : SHIFT IN
175 10 = U+0010 : DATA LINK ESCAPE
176 11 = U+0011 : DEVICE CONTROL ONE
177 12 = U+0012 : DEVICE CONTROL TWO
178 13 = U+0013 : DEVICE CONTROL THREE
179 14 = U+0014 : DEVICE CONTROL FOUR
180 15 = U+0015 : NEGATIVE ACKNOWLEDGE
181 16 = U+0016 : SYNCHRONOUS IDLE
182 17 = U+0017 : END OF TRANSMISSION BLOCK
184 19 = U+0019 : END OF MEDIUM
185 1A = U+001A : SUBSTITUTE
187 1C = U+001C : FILE SEPARATOR
188 1D = U+001D : GROUP SEPARATOR
189 1E = U+001E : RECORD SEPARATOR
190 1F = U+001F : UNIT SEPARATOR
192 21 = U+0021 : EXCLAMATION MARK
193 22 = U+0022 : QUOTATION MARK
194 23 = U+0023 : NUMBER SIGN
195 24 = U+0024 : DOLLAR SIGN
196 25 = U+0025 : PERCENT SIGN
197 26 = U+0026 : AMPERSAND
198 27 = U+0027 : APOSTROPHE
199 28 = U+0028 : LEFT PARENTHESIS
200 29 = U+0029 : RIGHT PARENTHESIS
201 2A = U+002A : ASTERISK
202 2B = U+002B : PLUS SIGN
204 2D = U+002D : HYPHEN-MINUS
205 2E = U+002E : FULL STOP
206 2F = U+002F : SOLIDUS
207 30 = U+0030 : DIGIT ZERO
208 31 = U+0031 : DIGIT ONE
209 32 = U+0032 : DIGIT TWO
210 33 = U+0033 : DIGIT THREE
211 34 = U+0034 : DIGIT FOUR
212 35 = U+0035 : DIGIT FIVE
213 36 = U+0036 : DIGIT SIX
214 37 = U+0037 : DIGIT SEVEN
215 38 = U+0038 : DIGIT EIGHT
216 39 = U+0039 : DIGIT NINE
218 3B = U+003B : SEMICOLON
219 3C = U+003C : LESS-THAN SIGN
220 3D = U+003D : EQUALS SIGN
221 3E = U+003E : GREATER-THAN SIGN
222 3F = U+003F : QUESTION MARK
223 40 = U+0040 : COMMERCIAL AT
224 41 = U+0041 : LATIN CAPITAL LETTER A
225 42 = U+0042 : LATIN CAPITAL LETTER B
226 43 = U+0043 : LATIN CAPITAL LETTER C
227 44 = U+0044 : LATIN CAPITAL LETTER D
228 45 = U+0045 : LATIN CAPITAL LETTER E
229 46 = U+0046 : LATIN CAPITAL LETTER F
230 47 = U+0047 : LATIN CAPITAL LETTER G
231 48 = U+0048 : LATIN CAPITAL LETTER H
232 49 = U+0049 : LATIN CAPITAL LETTER I
233 4A = U+004A : LATIN CAPITAL LETTER J
234 4B = U+004B : LATIN CAPITAL LETTER K
235 4C = U+004C : LATIN CAPITAL LETTER L
236 4D = U+004D : LATIN CAPITAL LETTER M
237 4E = U+004E : LATIN CAPITAL LETTER N
238 4F = U+004F : LATIN CAPITAL LETTER O
239 50 = U+0050 : LATIN CAPITAL LETTER P
240 51 = U+0051 : LATIN CAPITAL LETTER Q
241 52 = U+0052 : LATIN CAPITAL LETTER R
242 53 = U+0053 : LATIN CAPITAL LETTER S
243 54 = U+0054 : LATIN CAPITAL LETTER T
244 55 = U+0055 : LATIN CAPITAL LETTER U
245 56 = U+0056 : LATIN CAPITAL LETTER V
246 57 = U+0057 : LATIN CAPITAL LETTER W
247 58 = U+0058 : LATIN CAPITAL LETTER X
248 59 = U+0059 : LATIN CAPITAL LETTER Y
249 5A = U+005A : LATIN CAPITAL LETTER Z
250 5B = U+005B : LEFT SQUARE BRACKET
251 5C = U+005C : REVERSE SOLIDUS
252 5D = U+005D : RIGHT SQUARE BRACKET
253 5E = U+005E : CIRCUMFLEX ACCENT
254 5F = U+005F : LOW LINE
255 60 = U+0060 : GRAVE ACCENT
256 61 = U+0061 : LATIN SMALL LETTER A
257 62 = U+0062 : LATIN SMALL LETTER B
258 63 = U+0063 : LATIN SMALL LETTER C
259 64 = U+0064 : LATIN SMALL LETTER D
260 65 = U+0065 : LATIN SMALL LETTER E
261 66 = U+0066 : LATIN SMALL LETTER F
262 67 = U+0067 : LATIN SMALL LETTER G
263 68 = U+0068 : LATIN SMALL LETTER H
264 69 = U+0069 : LATIN SMALL LETTER I
265 6A = U+006A : LATIN SMALL LETTER J
266 6B = U+006B : LATIN SMALL LETTER K
267 6C = U+006C : LATIN SMALL LETTER L
268 6D = U+006D : LATIN SMALL LETTER M
269 6E = U+006E : LATIN SMALL LETTER N
270 6F = U+006F : LATIN SMALL LETTER O
271 70 = U+0070 : LATIN SMALL LETTER P
272 71 = U+0071 : LATIN SMALL LETTER Q
273 72 = U+0072 : LATIN SMALL LETTER R
274 73 = U+0073 : LATIN SMALL LETTER S
275 74 = U+0074 : LATIN SMALL LETTER T
276 75 = U+0075 : LATIN SMALL LETTER U
277 76 = U+0076 : LATIN SMALL LETTER V
278 77 = U+0077 : LATIN SMALL LETTER W
279 78 = U+0078 : LATIN SMALL LETTER X
280 79 = U+0079 : LATIN SMALL LETTER Y
281 7A = U+007A : LATIN SMALL LETTER Z
282 7B = U+007B : LEFT CURLY BRACKET
283 7C = U+007C : VERTICAL LINE
284 7D = U+007D : RIGHT CURLY BRACKET
287 80 = U+20AC : EURO SIGN
288 82 = U+201A : SINGLE LOW-9 QUOTATION MARK
289 83 = U+0192 : LATIN SMALL LETTER F WITH HOOK
290 84 = U+201E : DOUBLE LOW-9 QUOTATION MARK
291 85 = U+2026 : HORIZONTAL ELLIPSIS
293 87 = U+2021 : DOUBLE DAGGER
294 88 = U+02C6 : MODIFIER LETTER CIRCUMFLEX ACCENT
295 89 = U+2030 : PER MILLE SIGN
296 8A = U+0160 : LATIN CAPITAL LETTER S WITH CARON
297 8B = U+2039 : SINGLE LEFT-POINTING ANGLE QUOTATION MARK
298 8C = U+0152 : LATIN CAPITAL LIGATURE OE
299 8E = U+017D : LATIN CAPITAL LETTER Z WITH CARON
300 91 = U+2018 : LEFT SINGLE QUOTATION MARK
301 92 = U+2019 : RIGHT SINGLE QUOTATION MARK
302 93 = U+201C : LEFT DOUBLE QUOTATION MARK
303 94 = U+201D : RIGHT DOUBLE QUOTATION MARK
305 96 = U+2013 : EN DASH
306 97 = U+2014 : EM DASH
307 98 = U+02DC : SMALL TILDE
308 99 = U+2122 : TRADE MARK SIGN
309 9A = U+0161 : LATIN SMALL LETTER S WITH CARON
310 9B = U+203A : SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
311 9C = U+0153 : LATIN SMALL LIGATURE OE
312 9E = U+017E : LATIN SMALL LETTER Z WITH CARON
313 9F = U+0178 : LATIN CAPITAL LETTER Y WITH DIAERESIS
314 A0 = U+00A0 : NO-BREAK SPACE
315 A1 = U+00A1 : INVERTED EXCLAMATION MARK
316 A2 = U+00A2 : CENT SIGN
317 A3 = U+00A3 : POUND SIGN
318 A4 = U+00A4 : CURRENCY SIGN
319 A5 = U+00A5 : YEN SIGN
320 A6 = U+00A6 : BROKEN BAR
321 A7 = U+00A7 : SECTION SIGN
322 A8 = U+00A8 : DIAERESIS
323 A9 = U+00A9 : COPYRIGHT SIGN
324 AA = U+00AA : FEMININE ORDINAL INDICATOR
325 AB = U+00AB : LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
326 AC = U+00AC : NOT SIGN
327 AD = U+00AD : SOFT HYPHEN
328 AE = U+00AE : REGISTERED SIGN
330 B0 = U+00B0 : DEGREE SIGN
331 B1 = U+00B1 : PLUS-MINUS SIGN
332 B2 = U+00B2 : SUPERSCRIPT TWO
333 B3 = U+00B3 : SUPERSCRIPT THREE
334 B4 = U+00B4 : ACUTE ACCENT
335 B5 = U+00B5 : MICRO SIGN
336 B6 = U+00B6 : PILCROW SIGN
337 B7 = U+00B7 : MIDDLE DOT
338 B8 = U+00B8 : CEDILLA
339 B9 = U+00B9 : SUPERSCRIPT ONE
340 BA = U+00BA : MASCULINE ORDINAL INDICATOR
341 BB = U+00BB : RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
342 BC = U+00BC : VULGAR FRACTION ONE QUARTER
343 BD = U+00BD : VULGAR FRACTION ONE HALF
344 BE = U+00BE : VULGAR FRACTION THREE QUARTERS
345 BF = U+00BF : INVERTED QUESTION MARK
346 C0 = U+00C0 : LATIN CAPITAL LETTER A WITH GRAVE
347 C1 = U+00C1 : LATIN CAPITAL LETTER A WITH ACUTE
348 C2 = U+00C2 : LATIN CAPITAL LETTER A WITH CIRCUMFLEX
349 C3 = U+00C3 : LATIN CAPITAL LETTER A WITH TILDE
350 C4 = U+00C4 : LATIN CAPITAL LETTER A WITH DIAERESIS
351 C5 = U+00C5 : LATIN CAPITAL LETTER A WITH RING ABOVE
352 C6 = U+00C6 : LATIN CAPITAL LETTER AE
353 C7 = U+00C7 : LATIN CAPITAL LETTER C WITH CEDILLA
354 C8 = U+00C8 : LATIN CAPITAL LETTER E WITH GRAVE
355 C9 = U+00C9 : LATIN CAPITAL LETTER E WITH ACUTE
356 CA = U+00CA : LATIN CAPITAL LETTER E WITH CIRCUMFLEX
357 CB = U+00CB : LATIN CAPITAL LETTER E WITH DIAERESIS
358 CC = U+00CC : LATIN CAPITAL LETTER I WITH GRAVE
359 CD = U+00CD : LATIN CAPITAL LETTER I WITH ACUTE
360 CE = U+00CE : LATIN CAPITAL LETTER I WITH CIRCUMFLEX
361 CF = U+00CF : LATIN CAPITAL LETTER I WITH DIAERESIS
362 D0 = U+00D0 : LATIN CAPITAL LETTER ETH
363 D1 = U+00D1 : LATIN CAPITAL LETTER N WITH TILDE
364 D2 = U+00D2 : LATIN CAPITAL LETTER O WITH GRAVE
365 D3 = U+00D3 : LATIN CAPITAL LETTER O WITH ACUTE
366 D4 = U+00D4 : LATIN CAPITAL LETTER O WITH CIRCUMFLEX
367 D5 = U+00D5 : LATIN CAPITAL LETTER O WITH TILDE
368 D6 = U+00D6 : LATIN CAPITAL LETTER O WITH DIAERESIS
369 D7 = U+00D7 : MULTIPLICATION SIGN
370 D8 = U+00D8 : LATIN CAPITAL LETTER O WITH STROKE
371 D9 = U+00D9 : LATIN CAPITAL LETTER U WITH GRAVE
372 DA = U+00DA : LATIN CAPITAL LETTER U WITH ACUTE
373 DB = U+00DB : LATIN CAPITAL LETTER U WITH CIRCUMFLEX
374 DC = U+00DC : LATIN CAPITAL LETTER U WITH DIAERESIS
375 DD = U+00DD : LATIN CAPITAL LETTER Y WITH ACUTE
376 DE = U+00DE : LATIN CAPITAL LETTER THORN
377 DF = U+00DF : LATIN SMALL LETTER SHARP S
378 E0 = U+00E0 : LATIN SMALL LETTER A WITH GRAVE
379 E1 = U+00E1 : LATIN SMALL LETTER A WITH ACUTE
380 E2 = U+00E2 : LATIN SMALL LETTER A WITH CIRCUMFLEX
381 E3 = U+00E3 : LATIN SMALL LETTER A WITH TILDE
382 E4 = U+00E4 : LATIN SMALL LETTER A WITH DIAERESIS
383 E5 = U+00E5 : LATIN SMALL LETTER A WITH RING ABOVE
384 E6 = U+00E6 : LATIN SMALL LETTER AE
385 E7 = U+00E7 : LATIN SMALL LETTER C WITH CEDILLA
386 E8 = U+00E8 : LATIN SMALL LETTER E WITH GRAVE
387 E9 = U+00E9 : LATIN SMALL LETTER E WITH ACUTE
388 EA = U+00EA : LATIN SMALL LETTER E WITH CIRCUMFLEX
389 EB = U+00EB : LATIN SMALL LETTER E WITH DIAERESIS
390 EC = U+00EC : LATIN SMALL LETTER I WITH GRAVE
391 ED = U+00ED : LATIN SMALL LETTER I WITH ACUTE
392 EE = U+00EE : LATIN SMALL LETTER I WITH CIRCUMFLEX
393 EF = U+00EF : LATIN SMALL LETTER I WITH DIAERESIS
394 F0 = U+00F0 : LATIN SMALL LETTER ETH
395 F1 = U+00F1 : LATIN SMALL LETTER N WITH TILDE
396 F2 = U+00F2 : LATIN SMALL LETTER O WITH GRAVE
397 F3 = U+00F3 : LATIN SMALL LETTER O WITH ACUTE
398 F4 = U+00F4 : LATIN SMALL LETTER O WITH CIRCUMFLEX
399 F5 = U+00F5 : LATIN SMALL LETTER O WITH TILDE
400 F6 = U+00F6 : LATIN SMALL LETTER O WITH DIAERESIS
401 F7 = U+00F7 : DIVISION SIGN
402 F8 = U+00F8 : LATIN SMALL LETTER O WITH STROKE
403 F9 = U+00F9 : LATIN SMALL LETTER U WITH GRAVE
404 FA = U+00FA : LATIN SMALL LETTER U WITH ACUTE
405 FB = U+00FB : LATIN SMALL LETTER U WITH CIRCUMFLEX
406 FC = U+00FC : LATIN SMALL LETTER U WITH DIAERESIS
407 FD = U+00FD : LATIN SMALL LETTER Y WITH ACUTE
408 FE = U+00FE : LATIN SMALL LETTER THORN
409 FF = U+00FF : LATIN SMALL LETTER Y WITH DIAERESIS