3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function seems_utf8($str) { $length = strlen($str); for ($i = 0; $i < $length; $i++) { $c = ord($str[$i]); if ($c < 0x80) $n = 0; elseif (($c & 0xE0) == 0xC0) $n = 1; elseif (($c & 0xF0) == 0xE0) $n = 2; elseif (($c & 0xF8) == 0xF0) $n = 3; elseif (($c & 0xFC) == 0xF8) $n = 4; elseif (($c & 0xFE) == 0xFC) $n = 5; else return false; for ($j=0; $j<$n; $j++) { if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80)) return false; } } return true; } function remove_accents($string) { if (!preg_match('/[\x80-\xff]/', $string)) return $string; if (seems_utf8($string)) { $chars = array( // Decompositions for Latin-1 Supplement chr(195).chr(128) => 'A', chr(195).chr(129) => 'A', chr(195).chr(130) => 'A', chr(195).chr(131) => 'A', chr(195).chr(132) => 'A', chr(195).chr(133) => 'A', chr(195).chr(135) => 'C', chr(195).chr(136) => 'E', chr(195).chr(137) => 'E', chr(195).chr(138) => 'E', chr(195).chr(139) => 'E', chr(195).chr(140) => 'I', chr(195).chr(141) => 'I', chr(195).chr(142) => 'I', chr(195).chr(143) => 'I', chr(195).chr(145) => 'N', chr(195).chr(146) => 'O', chr(195).chr(147) => 'O', chr(195).chr(148) => 'O', chr(195).chr(149) => 'O', chr(195).chr(150) => 'O', chr(195).chr(153) => 'U', chr(195).chr(154) => 'U', chr(195).chr(155) => 'U', chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y', chr(195).chr(159) => 's', chr(195).chr(160) => 'a', chr(195).chr(161) => 'a', chr(195).chr(162) => 'a', chr(195).chr(163) => 'a', chr(195).chr(164) => 'a', chr(195).chr(165) => 'a', chr(195).chr(167) => 'c', chr(195).chr(168) => 'e', chr(195).chr(169) => 'e', chr(195).chr(170) => 'e', chr(195).chr(171) => 'e', chr(195).chr(172) => 'i', chr(195).chr(173) => 'i', chr(195).chr(174) => 'i', chr(195).chr(175) => 'i', chr(195).chr(177) => 'n', chr(195).chr(178) => 'o', chr(195).chr(179) => 'o', chr(195).chr(180) => 'o', chr(195).chr(181) => 'o', chr(195).chr(182) => 'o', chr(195).chr(182) => 'o', chr(195).chr(185) => 'u', chr(195).chr(186) => 'u', chr(195).chr(187) => 'u', chr(195).chr(188) => 'u', chr(195).chr(189) => 'y', chr(195).chr(191) => 'y', // Decompositions for Latin Extended-A chr(196).chr(128) => 'A', chr(196).chr(129) => 'a', chr(196).chr(130) => 'A', chr(196).chr(131) => 'a', chr(196).chr(132) => 'A', chr(196).chr(133) => 'a', chr(196).chr(134) => 'C', chr(196).chr(135) => 'c', chr(196).chr(136) => 'C', chr(196).chr(137) => 'c', chr(196).chr(138) => 'C', chr(196).chr(139) => 'c', chr(196).chr(140) => 'C', chr(196).chr(141) => 'c', chr(196).chr(142) => 'D', chr(196).chr(143) => 'd', chr(196).chr(144) => 'D', chr(196).chr(145) => 'd', chr(196).chr(146) => 'E', chr(196).chr(147) => 'e', chr(196).chr(148) => 'E', chr(196).chr(149) => 'e', chr(196).chr(150) => 'E', chr(196).chr(151) => 'e', chr(196).chr(152) => 'E', chr(196).chr(153) => 'e', chr(196).chr(154) => 'E', chr(196).chr(155) => 'e', chr(196).chr(156) => 'G', chr(196).chr(157) => 'g', chr(196).chr(158) => 'G', chr(196).chr(159) => 'g', chr(196).chr(160) => 'G', chr(196).chr(161) => 'g', chr(196).chr(162) => 'G', chr(196).chr(163) => 'g', chr(196).chr(164) => 'H', chr(196).chr(165) => 'h', chr(196).chr(166) => 'H', chr(196).chr(167) => 'h', chr(196).chr(168) => 'I', chr(196).chr(169) => 'i', chr(196).chr(170) => 'I', chr(196).chr(171) => 'i', chr(196).chr(172) => 'I', chr(196).chr(173) => 'i', chr(196).chr(174) => 'I', chr(196).chr(175) => 'i', chr(196).chr(176) => 'I', chr(196).chr(177) => 'i', chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij', chr(196).chr(180) => 'J', chr(196).chr(181) => 'j', chr(196).chr(182) => 'K', chr(196).chr(183) => 'k', chr(196).chr(184) => 'k', chr(196).chr(185) => 'L', chr(196).chr(186) => 'l', chr(196).chr(187) => 'L', chr(196).chr(188) => 'l', chr(196).chr(189) => 'L', chr(196).chr(190) => 'l', chr(196).chr(191) => 'L', chr(197).chr(128) => 'l', chr(197).chr(129) => 'L', chr(197).chr(130) => 'l', chr(197).chr(131) => 'N', chr(197).chr(132) => 'n', chr(197).chr(133) => 'N', chr(197).chr(134) => 'n', chr(197).chr(135) => 'N', chr(197).chr(136) => 'n', chr(197).chr(137) => 'N', chr(197).chr(138) => 'n', chr(197).chr(139) => 'N', chr(197).chr(140) => 'O', chr(197).chr(141) => 'o', chr(197).chr(142) => 'O', chr(197).chr(143) => 'o', chr(197).chr(144) => 'O', chr(197).chr(145) => 'o', chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe', chr(197).chr(148) => 'R',chr(197).chr(149) => 'r', chr(197).chr(150) => 'R',chr(197).chr(151) => 'r', chr(197).chr(152) => 'R',chr(197).chr(153) => 'r', chr(197).chr(154) => 'S',chr(197).chr(155) => 's', chr(197).chr(156) => 'S',chr(197).chr(157) => 's', chr(197).chr(158) => 'S',chr(197).chr(159) => 's', chr(197).chr(160) => 'S', chr(197).chr(161) => 's', chr(197).chr(162) => 'T', chr(197).chr(163) => 't', chr(197).chr(164) => 'T', chr(197).chr(165) => 't', chr(197).chr(166) => 'T', chr(197).chr(167) => 't', chr(197).chr(168) => 'U', chr(197).chr(169) => 'u', chr(197).chr(170) => 'U', chr(197).chr(171) => 'u', chr(197).chr(172) => 'U', chr(197).chr(173) => 'u', chr(197).chr(174) => 'U', chr(197).chr(175) => 'u', chr(197).chr(176) => 'U', chr(197).chr(177) => 'u', chr(197).chr(178) => 'U', chr(197).chr(179) => 'u', chr(197).chr(180) => 'W', chr(197).chr(181) => 'w', chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y', chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z', chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z', chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z', chr(197).chr(190) => 'z', chr(197).chr(191) => 's', // Euro Sign chr(226).chr(130).chr(172) => 'E', // GBP (Pound) Sign chr(194).chr(163) => '', ); $string = strtr($string, $chars); } else { // Assume ISO-8859-1 if not UTF-8 $chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158) .chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194) .chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202) .chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210) .chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218) .chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227) .chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235) .chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243) .chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251) .chr(252).chr(253).chr(255); $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy"; $string = strtr($string, $chars['in'], $chars['out']); $double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254)); $double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th'); $string = str_replace($double_chars['in'], $double_chars['out'], $string); } return $string; } var_dump( remove_accents("aťszgťščd") == "aťszgťščd" );
based on A8sNF
Finding entry points
Branch analysis from position: 0
Jump found. (Code = 62) Position 1 = -2
filename:       /in/qNcse
function name:  (null)
number of ops:  10
compiled vars:  none
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   NOP                                                      
  21     1        NOP                                                      
 151     2        INIT_FCALL                                               'var_dump'
         3        INIT_FCALL                                               'remove_accents'
         4        SEND_VAL                                                 'a%C5%A5szg%C5%A5%C5%A1%C4%8Dd'
         5        DO_FCALL                                      0  $0      
         6        IS_EQUAL                                         ~1      $0, 'a%C5%A5szg%C5%A5%C5%A1%C4%8Dd'
         7        SEND_VAL                                                 ~1
         8        DO_ICALL                                                 
         9      > RETURN                                                   1

Function seems_utf8:
Finding entry points
Branch analysis from position: 0
Jump found. (Code = 42) Position 1 = 60
Branch analysis from position: 60
Jump found. (Code = 44) Position 1 = 62, Position 2 = 5
Branch analysis from position: 62
Jump found. (Code = 62) Position 1 = -2
Branch analysis from position: 5
Jump found. (Code = 43) Position 1 = 12, Position 2 = 14
Branch analysis from position: 12
Jump found. (Code = 42) Position 1 = 40
Branch analysis from position: 40
Jump found. (Code = 42) Position 1 = 56
Branch analysis from position: 56
Jump found. (Code = 44) Position 1 = 58, Position 2 = 42
Branch analysis from position: 58
Jump found. (Code = 44) Position 1 = 62, Position 2 = 5
Branch analysis from position: 62
Branch analysis from position: 5
Branch analysis from position: 42
Jump found. (Code = 47) Position 1 = 45, Position 2 = 52
Branch analysis from position: 45
Jump found. (Code = 43) Position 1 = 53, Position 2 = 54
Branch analysis from position: 53
Jump found. (Code = 62) Position 1 = -2
Branch analysis from position: 54
Jump found. (Code = 44) Position 1 = 58, Position 2 = 42
Branch analysis from position: 58
Branch analysis from position: 42
Branch analysis from position: 52
Branch analysis from position: 14
Jump found. (Code = 43) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
Jump found. (Code = 42) Position 1 = 40
Branch analysis from position: 40
Branch analysis from position: 19
Jump found. (Code = 43) Position 1 = 22, Position 2 = 24
Branch analysis from position: 22
Jump found. (Code = 42) Position 1 = 40
Branch analysis from position: 40
Branch analysis from position: 24
Jump found. (Code = 43) Position 1 = 27, Position 2 = 29
Branch analysis from position: 27
Jump found. (Code = 42) Position 1 = 40
Branch analysis from position: 40
Branch analysis from position: 29
Jump found. (Code = 43) Position 1 = 32, Position 2 = 34
Branch analysis from position: 32
Jump found. (Code = 42) Position 1 = 40
Branch analysis from position: 40
Branch analysis from position: 34
Jump found. (Code = 43) Position 1 = 37, Position 2 = 39
Branch analysis from position: 37
Jump found. (Code = 42) Position 1 = 40
Branch analysis from position: 40
Branch analysis from position: 39
Jump found. (Code = 62) Position 1 = -2
filename:       /in/qNcse
function name:  seems_utf8
number of ops:  64
compiled vars:  !0 = $str, !1 = $length, !2 = $i, !3 = $c, !4 = $n, !5 = $j
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   RECV                                             !0      
   4     1        STRLEN                                           ~6      !0
         2        ASSIGN                                                   !1, ~6
   5     3        ASSIGN                                                   !2, 0
         4      > JMP                                                      ->60
   6     5    >   INIT_FCALL                                               'ord'
         6        FETCH_DIM_R                                      $9      !0, !2
         7        SEND_VAR                                                 $9
         8        DO_ICALL                                         $10     
         9        ASSIGN                                                   !3, $10
   7    10        IS_SMALLER                                       ~12     !3, 128
        11      > JMPZ                                                     ~12, ->14
        12    >   ASSIGN                                                   !4, 0
        13      > JMP                                                      ->40
   8    14    >   BW_AND                                           ~14     !3, 224
        15        IS_EQUAL                                         ~15     ~14, 192
        16      > JMPZ                                                     ~15, ->19
        17    >   ASSIGN                                                   !4, 1
        18      > JMP                                                      ->40
   9    19    >   BW_AND                                           ~17     !3, 240
        20        IS_EQUAL                                         ~18     ~17, 224
        21      > JMPZ                                                     ~18, ->24
        22    >   ASSIGN                                                   !4, 2
        23      > JMP                                                      ->40
  10    24    >   BW_AND                                           ~20     !3, 248
        25        IS_EQUAL                                         ~21     ~20, 240
        26      > JMPZ                                                     ~21, ->29
        27    >   ASSIGN                                                   !4, 3
        28      > JMP                                                      ->40
  11    29    >   BW_AND                                           ~23     !3, 252
        30        IS_EQUAL                                         ~24     ~23, 248
        31      > JMPZ                                                     ~24, ->34
        32    >   ASSIGN                                                   !4, 4
        33      > JMP                                                      ->40
  12    34    >   BW_AND                                           ~26     !3, 254
        35        IS_EQUAL                                         ~27     ~26, 252
        36      > JMPZ                                                     ~27, ->39
        37    >   ASSIGN                                                   !4, 5
        38      > JMP                                                      ->40
  13    39    > > RETURN                                                   <false>
  14    40    >   ASSIGN                                                   !5, 0
        41      > JMP                                                      ->56
  15    42    >   PRE_INC                                          $30     !2
        43        IS_EQUAL                                         ~31     $30, !1
        44      > JMPNZ_EX                                         ~31     ~31, ->52
        45    >   INIT_FCALL                                               'ord'
        46        FETCH_DIM_R                                      $32     !0, !2
        47        SEND_VAR                                                 $32
        48        DO_ICALL                                         $33     
        49        BW_AND                                           ~34     $33, 192
        50        IS_NOT_EQUAL                                     ~35     ~34, 128
        51        BOOL                                             ~31     ~35
        52    > > JMPZ                                                     ~31, ->54
        53    > > RETURN                                                   <false>
  14    54    >   POST_INC                                         ~36     !5
        55        FREE                                                     ~36
        56    >   IS_SMALLER                                       ~37     !5, !4
        57      > JMPNZ                                                    ~37, ->42
   5    58    >   POST_INC                                         ~38     !2
        59        FREE                                                     ~38
        60    >   IS_SMALLER                                       ~39     !2, !1
        61      > JMPNZ                                                    ~39, ->5
  18    62    > > RETURN                                                   <true>
  19    63*     > RETURN                                                   null

End of function seems_utf8

Function remove_accents:
Finding entry points
Branch analysis from position: 0
Jump found. (Code = 43) Position 1 = 7, Position 2 = 8
Branch analysis from position: 7
Jump found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
Jump found. (Code = 43) Position 1 = 12, Position 2 = 204
Branch analysis from position: 12
Jump found. (Code = 42) Position 1 = 237
Branch analysis from position: 237
Jump found. (Code = 62) Position 1 = -2
Branch analysis from position: 204
Jump found. (Code = 62) Position 1 = -2
filename:       /in/qNcse
function name:  remove_accents
number of ops:  239
compiled vars:  !0 = $string, !1 = $chars, !2 = $double_chars
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  21     0  E >   RECV                                             !0      
  22     1        INIT_FCALL                                               'preg_match'
         2        SEND_VAL                                                 '%2F%5B%5Cx80-%5Cxff%5D%2F'
         3        SEND_VAR                                                 !0
         4        DO_ICALL                                         $3      
         5        BOOL_NOT                                         ~4      $3
         6      > JMPZ                                                     ~4, ->8
         7    > > RETURN                                                   !0
  24     8    >   INIT_FCALL                                               'seems_utf8'
         9        SEND_VAR                                                 !0
        10        DO_FCALL                                      0  $5      
        11      > JMPZ                                                     $5, ->204
  27    12    >   INIT_ARRAY                                       ~6      'A', '%C3%80'
        13        ADD_ARRAY_ELEMENT                                ~6      'A', '%C3%81'
  28    14        ADD_ARRAY_ELEMENT                                ~6      'A', '%C3%82'
        15        ADD_ARRAY_ELEMENT                                ~6      'A', '%C3%83'
  29    16        ADD_ARRAY_ELEMENT                                ~6      'A', '%C3%84'
        17        ADD_ARRAY_ELEMENT                                ~6      'A', '%C3%85'
  30    18        ADD_ARRAY_ELEMENT                                ~6      'C', '%C3%87'
        19        ADD_ARRAY_ELEMENT                                ~6      'E', '%C3%88'
  31    20        ADD_ARRAY_ELEMENT                                ~6      'E', '%C3%89'
        21        ADD_ARRAY_ELEMENT                                ~6      'E', '%C3%8A'
  32    22        ADD_ARRAY_ELEMENT                                ~6      'E', '%C3%8B'
        23        ADD_ARRAY_ELEMENT                                ~6      'I', '%C3%8C'
  33    24        ADD_ARRAY_ELEMENT                                ~6      'I', '%C3%8D'
        25        ADD_ARRAY_ELEMENT                                ~6      'I', '%C3%8E'
  34    26        ADD_ARRAY_ELEMENT                                ~6      'I', '%C3%8F'
        27        ADD_ARRAY_ELEMENT                                ~6      'N', '%C3%91'
  35    28        ADD_ARRAY_ELEMENT                                ~6      'O', '%C3%92'
        29        ADD_ARRAY_ELEMENT                                ~6      'O', '%C3%93'
  36    30        ADD_ARRAY_ELEMENT                                ~6      'O', '%C3%94'
        31        ADD_ARRAY_ELEMENT                                ~6      'O', '%C3%95'
  37    32        ADD_ARRAY_ELEMENT                                ~6      'O', '%C3%96'
        33        ADD_ARRAY_ELEMENT                                ~6      'U', '%C3%99'
  38    34        ADD_ARRAY_ELEMENT                                ~6      'U', '%C3%9A'
        35        ADD_ARRAY_ELEMENT                                ~6      'U', '%C3%9B'
  39    36        ADD_ARRAY_ELEMENT                                ~6      'U', '%C3%9C'
        37        ADD_ARRAY_ELEMENT                                ~6      'Y', '%C3%9D'
  40    38        ADD_ARRAY_ELEMENT                                ~6      's', '%C3%9F'
        39        ADD_ARRAY_ELEMENT                                ~6      'a', '%C3%A0'
  41    40        ADD_ARRAY_ELEMENT                                ~6      'a', '%C3%A1'
        41        ADD_ARRAY_ELEMENT                                ~6      'a', '%C3%A2'
  42    42        ADD_ARRAY_ELEMENT                                ~6      'a', '%C3%A3'
        43        ADD_ARRAY_ELEMENT                                ~6      'a', '%C3%A4'
  43    44        ADD_ARRAY_ELEMENT                                ~6      'a', '%C3%A5'
        45        ADD_ARRAY_ELEMENT                                ~6      'c', '%C3%A7'
  44    46        ADD_ARRAY_ELEMENT                                ~6      'e', '%C3%A8'
        47        ADD_ARRAY_ELEMENT                                ~6      'e', '%C3%A9'
  45    48        ADD_ARRAY_ELEMENT                                ~6      'e', '%C3%AA'
        49        ADD_ARRAY_ELEMENT                                ~6      'e', '%C3%AB'
  46    50        ADD_ARRAY_ELEMENT                                ~6      'i', '%C3%AC'
        51        ADD_ARRAY_ELEMENT                                ~6      'i', '%C3%AD'
  47    52        ADD_ARRAY_ELEMENT                                ~6      'i', '%C3%AE'
        53        ADD_ARRAY_ELEMENT                                ~6      'i', '%C3%AF'
  48    54        ADD_ARRAY_ELEMENT                                ~6      'n', '%C3%B1'
        55        ADD_ARRAY_ELEMENT                                ~6      'o', '%C3%B2'
  49    56        ADD_ARRAY_ELEMENT                                ~6      'o', '%C3%B3'
        57        ADD_ARRAY_ELEMENT                                ~6      'o', '%C3%B4'
  50    58        ADD_ARRAY_ELEMENT                                ~6      'o', '%C3%B5'
        59        ADD_ARRAY_ELEMENT                                ~6      'o', '%C3%B6'
  51    60        ADD_ARRAY_ELEMENT                                ~6      'o', '%C3%B6'
        61        ADD_ARRAY_ELEMENT                                ~6      'u', '%C3%B9'
  52    62        ADD_ARRAY_ELEMENT                                ~6      'u', '%C3%BA'
        63        ADD_ARRAY_ELEMENT                                ~6      'u', '%C3%BB'
  53    64        ADD_ARRAY_ELEMENT                                ~6      'u', '%C3%BC'
        65        ADD_ARRAY_ELEMENT                                ~6      'y', '%C3%BD'
  54    66        ADD_ARRAY_ELEMENT                                ~6      'y', '%C3%BF'
  56    67        ADD_ARRAY_ELEMENT                                ~6      'A', '%C4%80'
        68        ADD_ARRAY_ELEMENT                                ~6      'a', '%C4%81'
  57    69        ADD_ARRAY_ELEMENT                                ~6      'A', '%C4%82'
        70        ADD_ARRAY_ELEMENT                                ~6      'a', '%C4%83'
  58    71        ADD_ARRAY_ELEMENT                                ~6      'A', '%C4%84'
        72        ADD_ARRAY_ELEMENT                                ~6      'a', '%C4%85'
  59    73        ADD_ARRAY_ELEMENT                                ~6      'C', '%C4%86'
        74        ADD_ARRAY_ELEMENT                                ~6      'c', '%C4%87'
  60    75        ADD_ARRAY_ELEMENT                                ~6      'C', '%C4%88'
        76        ADD_ARRAY_ELEMENT                                ~6      'c', '%C4%89'
  61    77        ADD_ARRAY_ELEMENT                                ~6      'C', '%C4%8A'
        78        ADD_ARRAY_ELEMENT                                ~6      'c', '%C4%8B'
  62    79        ADD_ARRAY_ELEMENT                                ~6      'C', '%C4%8C'
        80        ADD_ARRAY_ELEMENT                                ~6      'c', '%C4%8D'
  63    81        ADD_ARRAY_ELEMENT                                ~6      'D', '%C4%8E'
        82        ADD_ARRAY_ELEMENT                                ~6      'd', '%C4%8F'
  64    83        ADD_ARRAY_ELEMENT                                ~6      'D', '%C4%90'
        84        ADD_ARRAY_ELEMENT                                ~6      'd', '%C4%91'
  65    85        ADD_ARRAY_ELEMENT                                ~6      'E', '%C4%92'
        86        ADD_ARRAY_ELEMENT                                ~6      'e', '%C4%93'
  66    87        ADD_ARRAY_ELEMENT                                ~6      'E', '%C4%94'
        88        ADD_ARRAY_ELEMENT                                ~6      'e', '%C4%95'
  67    89        ADD_ARRAY_ELEMENT                                ~6      'E', '%C4%96'
        90        ADD_ARRAY_ELEMENT                                ~6      'e', '%C4%97'
  68    91        ADD_ARRAY_ELEMENT                                ~6      'E', '%C4%98'
        92        ADD_ARRAY_ELEMENT                                ~6      'e', '%C4%99'
  69    93        ADD_ARRAY_ELEMENT                                ~6      'E', '%C4%9A'
        94        ADD_ARRAY_ELEMENT                                ~6      'e', '%C4%9B'
  70    95        ADD_ARRAY_ELEMENT                                ~6      'G', '%C4%9C'
        96        ADD_ARRAY_ELEMENT                                ~6      'g', '%C4%9D'
  71    97        ADD_ARRAY_ELEMENT                                ~6      'G', '%C4%9E'
        98        ADD_ARRAY_ELEMENT                                ~6      'g', '%C4%9F'
  72    99        ADD_ARRAY_ELEMENT                                ~6      'G', '%C4%A0'
       100        ADD_ARRAY_ELEMENT                                ~6      'g', '%C4%A1'
  73   101        ADD_ARRAY_ELEMENT                                ~6      'G', '%C4%A2'
       102        ADD_ARRAY_ELEMENT                                ~6      'g', '%C4%A3'
  74   103        ADD_ARRAY_ELEMENT                                ~6      'H', '%C4%A4'
       104        ADD_ARRAY_ELEMENT                                ~6      'h', '%C4%A5'
  75   105        ADD_ARRAY_ELEMENT                                ~6      'H', '%C4%A6'
       106        ADD_ARRAY_ELEMENT                                ~6      'h', '%C4%A7'
  76   107        ADD_ARRAY_ELEMENT                                ~6      'I', '%C4%A8'
       108        ADD_ARRAY_ELEMENT                                ~6      'i', '%C4%A9'
  77   109        ADD_ARRAY_ELEMENT                                ~6      'I', '%C4%AA'
       110        ADD_ARRAY_ELEMENT                                ~6      'i', '%C4%AB'
  78   111        ADD_ARRAY_ELEMENT                                ~6      'I', '%C4%AC'
       112        ADD_ARRAY_ELEMENT                                ~6      'i', '%C4%AD'
  79   113        ADD_ARRAY_ELEMENT                                ~6      'I', '%C4%AE'
       114        ADD_ARRAY_ELEMENT                                ~6      'i', '%C4%AF'
  80   115        ADD_ARRAY_ELEMENT                                ~6      'I', '%C4%B0'
       116        ADD_ARRAY_ELEMENT                                ~6      'i', '%C4%B1'
  81   117        ADD_ARRAY_ELEMENT                                ~6      'IJ', '%C4%B2'
       118        ADD_ARRAY_ELEMENT                                ~6      'ij', '%C4%B3'
  82   119        ADD_ARRAY_ELEMENT                                ~6      'J', '%C4%B4'
       120        ADD_ARRAY_ELEMENT                                ~6      'j', '%C4%B5'
  83   121        ADD_ARRAY_ELEMENT                                ~6      'K', '%C4%B6'
       122        ADD_ARRAY_ELEMENT                                ~6      'k', '%C4%B7'
  84   123        ADD_ARRAY_ELEMENT                                ~6      'k', '%C4%B8'
       124        ADD_ARRAY_ELEMENT                                ~6      'L', '%C4%B9'
  85   125        ADD_ARRAY_ELEMENT                                ~6      'l', '%C4%BA'
       126        ADD_ARRAY_ELEMENT                                ~6      'L', '%C4%BB'
  86   127        ADD_ARRAY_ELEMENT                                ~6      'l', '%C4%BC'
       128        ADD_ARRAY_ELEMENT                                ~6      'L', '%C4%BD'
  87   129        ADD_ARRAY_ELEMENT                                ~6      'l', '%C4%BE'
       130        ADD_ARRAY_ELEMENT                                ~6      'L', '%C4%BF'
  88   131        ADD_ARRAY_ELEMENT                                ~6      'l', '%C5%80'
       132        ADD_ARRAY_ELEMENT                                ~6      'L', '%C5%81'
  89   133        ADD_ARRAY_ELEMENT                                ~6      'l', '%C5%82'
       134        ADD_ARRAY_ELEMENT                                ~6      'N', '%C5%83'
  90   135        ADD_ARRAY_ELEMENT                                ~6      'n', '%C5%84'
       136        ADD_ARRAY_ELEMENT                                ~6      'N', '%C5%85'
  91   137        ADD_ARRAY_ELEMENT                                ~6      'n', '%C5%86'
       138        ADD_ARRAY_ELEMENT                                ~6      'N', '%C5%87'
  92   139        ADD_ARRAY_ELEMENT                                ~6      'n', '%C5%88'
       140        ADD_ARRAY_ELEMENT                                ~6      'N', '%C5%89'
  93   141        ADD_ARRAY_ELEMENT                                ~6      'n', '%C5%8A'
       142        ADD_ARRAY_ELEMENT                                ~6      'N', '%C5%8B'
  94   143        ADD_ARRAY_ELEMENT                                ~6      'O', '%C5%8C'
       144        ADD_ARRAY_ELEMENT                                ~6      'o', '%C5%8D'
  95   145        ADD_ARRAY_ELEMENT                                ~6      'O', '%C5%8E'
       146        ADD_ARRAY_ELEMENT                                ~6      'o', '%C5%8F'
  96   147        ADD_ARRAY_ELEMENT                                ~6      'O', '%C5%90'
       148        ADD_ARRAY_ELEMENT                                ~6      'o', '%C5%91'
  97   149        ADD_ARRAY_ELEMENT                                ~6      'OE', '%C5%92'
       150        ADD_ARRAY_ELEMENT                                ~6      'oe', '%C5%93'
  98   151        ADD_ARRAY_ELEMENT                                ~6      'R', '%C5%94'
       152        ADD_ARRAY_ELEMENT                                ~6      'r', '%C5%95'
  99   153        ADD_ARRAY_ELEMENT                                ~6      'R', '%C5%96'
       154        ADD_ARRAY_ELEMENT                                ~6      'r', '%C5%97'
 100   155        ADD_ARRAY_ELEMENT                                ~6      'R', '%C5%98'
       156        ADD_ARRAY_ELEMENT                                ~6      'r', '%C5%99'
 101   157        ADD_ARRAY_ELEMENT                                ~6      'S', '%C5%9A'
       158        ADD_ARRAY_ELEMENT                                ~6      's', '%C5%9B'
 102   159        ADD_ARRAY_ELEMENT                                ~6      'S', '%C5%9C'
       160        ADD_ARRAY_ELEMENT                                ~6      's', '%C5%9D'
 103   161        ADD_ARRAY_ELEMENT                                ~6      'S', '%C5%9E'
       162        ADD_ARRAY_ELEMENT                                ~6      's', '%C5%9F'
 104   163        ADD_ARRAY_ELEMENT                                ~6      'S', '%C5%A0'
       164        ADD_ARRAY_ELEMENT                                ~6      's', '%C5%A1'
 105   165        ADD_ARRAY_ELEMENT                                ~6      'T', '%C5%A2'
       166        ADD_ARRAY_ELEMENT                                ~6      't', '%C5%A3'
 106   167        ADD_ARRAY_ELEMENT                                ~6      'T', '%C5%A4'
       168        ADD_ARRAY_ELEMENT                                ~6      't', '%C5%A5'
 107   169        ADD_ARRAY_ELEMENT                                ~6      'T', '%C5%A6'
       170        ADD_ARRAY_ELEMENT                                ~6      't', '%C5%A7'
 108   171        ADD_ARRAY_ELEMENT                                ~6      'U', '%C5%A8'
       172        ADD_ARRAY_ELEMENT                                ~6      'u', '%C5%A9'
 109   173        ADD_ARRAY_ELEMENT                                ~6      'U', '%C5%AA'
       174        ADD_ARRAY_ELEMENT                                ~6      'u', '%C5%AB'
 110   175        ADD_ARRAY_ELEMENT                                ~6      'U', '%C5%AC'
       176        ADD_ARRAY_ELEMENT                                ~6      'u', '%C5%AD'
 111   177        ADD_ARRAY_ELEMENT                                ~6      'U', '%C5%AE'
       178        ADD_ARRAY_ELEMENT                                ~6      'u', '%C5%AF'
 112   179        ADD_ARRAY_ELEMENT                                ~6      'U', '%C5%B0'
       180        ADD_ARRAY_ELEMENT                                ~6      'u', '%C5%B1'
 113   181        ADD_ARRAY_ELEMENT                                ~6      'U', '%C5%B2'
       182        ADD_ARRAY_ELEMENT                                ~6      'u', '%C5%B3'
 114   183        ADD_ARRAY_ELEMENT                                ~6      'W', '%C5%B4'
       184        ADD_ARRAY_ELEMENT                                ~6      'w', '%C5%B5'
 115   185        ADD_ARRAY_ELEMENT                                ~6      'Y', '%C5%B6'
       186        ADD_ARRAY_ELEMENT                                ~6      'y', '%C5%B7'
 116   187        ADD_ARRAY_ELEMENT                                ~6      'Y', '%C5%B8'
       188        ADD_ARRAY_ELEMENT                                ~6      'Z', '%C5%B9'
 117   189        ADD_ARRAY_ELEMENT                                ~6      'z', '%C5%BA'
       190        ADD_ARRAY_ELEMENT                                ~6      'Z', '%C5%BB'
 118   191        ADD_ARRAY_ELEMENT                                ~6      'z', '%C5%BC'
       192        ADD_ARRAY_ELEMENT                                ~6      'Z', '%C5%BD'
 119   193        ADD_ARRAY_ELEMENT                                ~6      'z', '%C5%BE'
       194        ADD_ARRAY_ELEMENT                                ~6      's', '%C5%BF'
 121   195        ADD_ARRAY_ELEMENT                                ~6      'E', '%E2%82%AC'
 123   196        ADD_ARRAY_ELEMENT                                ~6      '', '%C2%A3'
       197        ASSIGN                                                   !1, ~6
 126   198        INIT_FCALL                                               'strtr'
       199        SEND_VAR                                                 !0
       200        SEND_VAR                                                 !1
       201        DO_ICALL                                         $8      
       202        ASSIGN                                                   !0, $8
       203      > JMP                                                      ->237
 129   204    >   ASSIGN_DIM                                               !1, 'in'
 138   205        OP_DATA                                                  '%80%83%8A%8E%9A%9E%9F%A2%A5%B5%C0%C1%C2%C3%C4%C5%C7%C8%C9%CA%CB%CC%CD%CE%CF%D1%D2%D3%D4%D5%D6%D8%D9%DA%DB%DC%DD%E0%E1%E2%E3%E4%E5%E7%E8%E9%EA%EB%EC%ED%EE%EF%F1%F2%F3%F4%F5%F6%F8%F9%FA%FB%FC%FD%FF'
 140   206        ASSIGN_DIM                                               !1, 'out'
       207        OP_DATA                                                  'EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy'
 142   208        INIT_FCALL                                               'strtr'
       209        SEND_VAR                                                 !0
       210        FETCH_DIM_R                                      $12     !1, 'in'
       211        SEND_VAR                                                 $12
       212        FETCH_DIM_R                                      $13     !1, 'out'
       213        SEND_VAR                                                 $13
       214        DO_ICALL                                         $14     
       215        ASSIGN                                                   !0, $14
 143   216        INIT_ARRAY                                       ~17     '%8C'
       217        ADD_ARRAY_ELEMENT                                ~17     '%9C'
       218        ADD_ARRAY_ELEMENT                                ~17     '%C6'
       219        ADD_ARRAY_ELEMENT                                ~17     '%D0'
       220        ADD_ARRAY_ELEMENT                                ~17     '%DE'
       221        ADD_ARRAY_ELEMENT                                ~17     '%DF'
       222        ADD_ARRAY_ELEMENT                                ~17     '%E6'
       223        ADD_ARRAY_ELEMENT                                ~17     '%F0'
       224        ADD_ARRAY_ELEMENT                                ~17     '%FE'
       225        ASSIGN_DIM                                               !2, 'in'
       226        OP_DATA                                                  ~17
 144   227        ASSIGN_DIM                                               !2, 'out'
       228        OP_DATA                                                  <array>
 145   229        INIT_FCALL                                               'str_replace'
       230        FETCH_DIM_R                                      $19     !2, 'in'
       231        SEND_VAR                                                 $19
       232        FETCH_DIM_R                                      $20     !2, 'out'
       233        SEND_VAR                                                 $20
       234        SEND_VAR                                                 !0
       235        DO_ICALL                                         $21     
       236        ASSIGN                                                   !0, $21
 148   237    > > RETURN                                                   !0
 149   238*     > RETURN                                                   null

End of function remove_accents

Generated using Vulcan Logic Dumper, using php 7.2.0