3v4l.org

run code in 500+ 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:/in/8M5PE:9}
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.5.0


preferences:
162.72 ms | 3377 KiB | 14 Q