3v4l.org

run code in 300+ PHP versions simultaneously
<?php function escape($data='') { $a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ'; $b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby'; $data = utf8_decode($data); $data = utf8_encode(strtr($data, utf8_decode($a), $b)); $data = strtolower($data); $arrPre[] = " a "; $arrPre[] = " ante "; $arrPre[] = " bajo "; $arrPre[] = " con "; $arrPre[] = " de "; $arrPre[] = " desde "; $arrPre[] = " durante "; $arrPre[] = " en "; $arrPre[] = " entre "; $arrPre[] = " excepto "; $arrPre[] = " hacia "; $arrPre[] = " hasta "; $arrPre[] = " mediante "; $arrPre[] = " para "; $arrPre[] = " por "; $arrPre[] = " salvo "; $arrPre[] = " según "; $arrPre[] = " sin "; $arrPre[] = " sobre "; $arrPre[] = " tras "; $data = str_replace($arrPre," ",$data); $data = str_replace(array('\\','!','¡','/','\'','"','“','â€?','‘','’','&','º','<','>','+','¿','?',':','.',',','%'), '', $data ); $data = str_replace(" " , "-", $data ); $data = preg_replace("/[^A-Z\d\_\.\:\,\-]/i","",$data); return $data; } echo escape('médicos');
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/RTtgV
function name:  (null)
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   39     0  E >   INIT_FCALL                                               'escape'
          1        SEND_VAL                                                 'm%C3%A9dicos'
          2        DO_FCALL                                      0  $0      
          3        ECHO                                                     $0
          4      > RETURN                                                   1

Function escape:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/RTtgV
function name:  escape
number of ops:  89
compiled vars:  !0 = $data, !1 = $a, !2 = $b, !3 = $arrPre
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV_INIT                                        !0      ''
    5     1        ASSIGN                                                   !1, '%C3%80%C3%81%C3%82%C3%83%C3%84%C3%85%C3%86%C3%87%C3%88%C3%89%C3%8A%C3%8B%C3%8C%C3%8D%C3%8E%C3%8F%C3%90%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%98%C3%99%C3%9A%C3%9B%C3%9C%C3%9D%C3%9E%C3%9F%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%A8%C3%A9%C3%AA%C3%AB%C3%AC%C3%AD%C3%AE%C3%AF%C3%B0%C3%B1%C3%B2%C3%B3%C3%B4%C3%B5%C3%B6%C3%B8%C3%B9%C3%BA%C3%BB%C3%BD%C3%BD%C3%BE%C3%BF'
    6     2        ASSIGN                                                   !2, 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby'
    7     3        INIT_FCALL                                               'utf8_decode'
          4        SEND_VAR                                                 !0
          5        DO_ICALL                                         $6      
          6        ASSIGN                                                   !0, $6
    8     7        INIT_FCALL                                               'utf8_encode'
          8        INIT_FCALL                                               'strtr'
          9        SEND_VAR                                                 !0
         10        INIT_FCALL                                               'utf8_decode'
         11        SEND_VAR                                                 !1
         12        DO_ICALL                                         $8      
         13        SEND_VAR                                                 $8
         14        SEND_VAR                                                 !2
         15        DO_ICALL                                         $9      
         16        SEND_VAR                                                 $9
         17        DO_ICALL                                         $10     
         18        ASSIGN                                                   !0, $10
   10    19        INIT_FCALL                                               'strtolower'
         20        SEND_VAR                                                 !0
         21        DO_ICALL                                         $12     
         22        ASSIGN                                                   !0, $12
   11    23        ASSIGN_DIM                                               !3
         24        OP_DATA                                                  '+a+'
   12    25        ASSIGN_DIM                                               !3
         26        OP_DATA                                                  '+ante+'
   13    27        ASSIGN_DIM                                               !3
         28        OP_DATA                                                  '+bajo+'
   14    29        ASSIGN_DIM                                               !3
         30        OP_DATA                                                  '+con+'
   15    31        ASSIGN_DIM                                               !3
         32        OP_DATA                                                  '+de+'
   16    33        ASSIGN_DIM                                               !3
         34        OP_DATA                                                  '+desde+'
   17    35        ASSIGN_DIM                                               !3
         36        OP_DATA                                                  '+durante+'
   18    37        ASSIGN_DIM                                               !3
         38        OP_DATA                                                  '+en+'
   19    39        ASSIGN_DIM                                               !3
         40        OP_DATA                                                  '+entre+'
   20    41        ASSIGN_DIM                                               !3
         42        OP_DATA                                                  '+excepto+'
   21    43        ASSIGN_DIM                                               !3
         44        OP_DATA                                                  '+hacia+'
   22    45        ASSIGN_DIM                                               !3
         46        OP_DATA                                                  '+hasta+'
   23    47        ASSIGN_DIM                                               !3
         48        OP_DATA                                                  '+mediante+'
   24    49        ASSIGN_DIM                                               !3
         50        OP_DATA                                                  '+para+'
   25    51        ASSIGN_DIM                                               !3
         52        OP_DATA                                                  '+por+'
   26    53        ASSIGN_DIM                                               !3
         54        OP_DATA                                                  '+salvo+'
   27    55        ASSIGN_DIM                                               !3
         56        OP_DATA                                                  '+seg%C3%83%C2%BAn+'
   28    57        ASSIGN_DIM                                               !3
         58        OP_DATA                                                  '+sin+'
   29    59        ASSIGN_DIM                                               !3
         60        OP_DATA                                                  '+sobre+'
   30    61        ASSIGN_DIM                                               !3
         62        OP_DATA                                                  '+tras+'
   31    63        INIT_FCALL                                               'str_replace'
         64        SEND_VAR                                                 !3
         65        SEND_VAL                                                 '+'
         66        SEND_VAR                                                 !0
         67        DO_ICALL                                         $34     
         68        ASSIGN                                                   !0, $34
   32    69        INIT_FCALL                                               'str_replace'
         70        SEND_VAL                                                 <array>
         71        SEND_VAL                                                 ''
         72        SEND_VAR                                                 !0
         73        DO_ICALL                                         $36     
         74        ASSIGN                                                   !0, $36
   33    75        INIT_FCALL                                               'str_replace'
         76        SEND_VAL                                                 '+'
         77        SEND_VAL                                                 '-'
         78        SEND_VAR                                                 !0
         79        DO_ICALL                                         $38     
         80        ASSIGN                                                   !0, $38
   34    81        INIT_FCALL                                               'preg_replace'
         82        SEND_VAL                                                 '%2F%5B%5EA-Z%5Cd%5C_%5C.%5C%3A%5C%2C%5C-%5D%2Fi'
         83        SEND_VAL                                                 ''
         84        SEND_VAR                                                 !0
         85        DO_ICALL                                         $40     
         86        ASSIGN                                                   !0, $40
   35    87      > RETURN                                                   !0
   36    88*     > RETURN                                                   null

End of function escape

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
165.99 ms | 1407 KiB | 26 Q