3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); // https://stackoverflow.com/a/68330595/367456 $transliterator = Transliterator::create("Any-Latin; Latin-ASCII"); $str = "AŠAàèìòù Chén Hǎi yáo München Faißt Финиш 国内 - 镜像"; echo $transliterator->transliterate($str), "\n"; $transliterate = static function (array $match) use ($transliterator) { return $transliterator->transliterate($match[0]); }; echo preg_replace_callback('([^\xE0\xE8\xEC\xF2\xF9]+)u', $transliterate, Normalizer::normalize($str, Normalizer::NFC)), "\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/8M5PE
function name:  (null)
number of ops:  26
compiled vars:  !0 = $transliterator, !1 = $str, !2 = $transliterate
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   INIT_STATIC_METHOD_CALL                                  'Transliterator', 'create'
          1        SEND_VAL_EX                                              'Any-Latin%3B+Latin-ASCII'
          2        DO_FCALL                                      0  $3      
          3        ASSIGN                                                   !0, $3
    6     4        ASSIGN                                                   !1, 'A%C5%A0A%C3%A0%C3%A8%C3%AC%C3%B2%C3%B9+Ch%C3%A9n+H%C7%8Ei+y%C3%A1o+M%C3%BCnchen+Fai%C3%9Ft+%D0%A4%D0%B8%D0%BD%D0%B8%D1%88+%E5%9B%BD%E5%86%85+-+%E9%95%9C%E5%83%8F'
    7     5        INIT_METHOD_CALL                                         !0, 'transliterate'
          6        SEND_VAR_EX                                              !1
          7        DO_FCALL                                      0  $6      
          8        ECHO                                                     $6
          9        ECHO                                                     '%0A'
    9    10        DECLARE_LAMBDA_FUNCTION                          ~7      [0]
         11        BIND_LEXICAL                                             ~7, !0
         12        ASSIGN                                                   !2, ~7
   13    13        INIT_FCALL                                               'preg_replace_callback'
         14        SEND_VAL                                                 '%28%5B%5E%5CxE0%5CxE8%5CxEC%5CxF2%5CxF9%5D%2B%29u'
         15        SEND_VAR                                                 !2
         16        INIT_STATIC_METHOD_CALL                                  'Normalizer', 'normalize'
         17        SEND_VAR_EX                                              !1
         18        FETCH_CLASS_CONSTANT                             ~9      'Normalizer', 'NFC'
         19        SEND_VAL_EX                                              ~9
         20        DO_FCALL                                      0  $10     
         21        SEND_VAR                                                 $10
         22        DO_ICALL                                         $11     
         23        ECHO                                                     $11
         24        ECHO                                                     '%0A'
         25      > RETURN                                                   1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/8M5PE
function name:  {closure}
number of ops:  9
compiled vars:  !0 = $match, !1 = $transliterator
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    9     0  E >   RECV                                             !0      
          1        BIND_STATIC                                              !1
   10     2        INIT_METHOD_CALL                                         !1, 'transliterate'
          3        CHECK_FUNC_ARG                                           
          4        FETCH_DIM_FUNC_ARG                               $2      !0, 0
          5        SEND_FUNC_ARG                                            $2
          6        DO_FCALL                                      0  $3      
          7      > RETURN                                                   $3
   11     8*     > RETURN                                                   null

End of Dynamic Function 0

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
139.48 ms | 998 KiB | 14 Q