3v4l.org

run code in 300+ PHP versions simultaneously
<?php function link_replace($bericht) { $bericht = preg_replace("#(^|[ \n\r\t])((http(s?)://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)#","\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $bericht); $bericht = preg_replace("#(^|[ \n\r\t])((ftp://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)#","\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $bericht); $bericht = preg_replace("#([a-z_-][a-z0-9\._-]*@[a-z0-9_-]+(\.[a-z0-9_-]+)+)#","<a href=\"mailto:\\1\">\\1</a>", $bericht); $bericht = preg_replace("#(^|\s)(www\.[a-z0-9_-]+(?:\.[a-z0-9_-]+)+(?:/[^/\s.]+)*)#","\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $bericht); $bericht = preg_replace("#(^|[ \n\r\t])(ftp\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)#","\\1<a href=\"ftp://\\2\" target=\"_blank\">\\2</a>", $bericht); $bericht = nl2br($bericht); return $bericht; } echo PHP_EOL; echo link_replace("www.xxx.com/xxx/xxx"); echo PHP_EOL; echo link_replace("www.xxx.com/xxx"); echo PHP_EOL; echo link_replace("https://www.xxx.com/xxx");
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/hkhJS
function name:  (null)
number of ops:  16
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   13     0  E >   ECHO                                                     '%0A'
   14     1        INIT_FCALL                                               'link_replace'
          2        SEND_VAL                                                 'www.xxx.com%2Fxxx%2Fxxx'
          3        DO_FCALL                                      0  $0      
          4        ECHO                                                     $0
   15     5        ECHO                                                     '%0A'
   16     6        INIT_FCALL                                               'link_replace'
          7        SEND_VAL                                                 'www.xxx.com%2Fxxx'
          8        DO_FCALL                                      0  $1      
          9        ECHO                                                     $1
   17    10        ECHO                                                     '%0A'
   18    11        INIT_FCALL                                               'link_replace'
         12        SEND_VAL                                                 'https%3A%2F%2Fwww.xxx.com%2Fxxx'
         13        DO_FCALL                                      0  $2      
         14        ECHO                                                     $2
         15      > RETURN                                                   1

Function link_replace:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/hkhJS
function name:  link_replace
number of ops:  37
compiled vars:  !0 = $bericht
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
    4     1        INIT_FCALL                                               'preg_replace'
          2        SEND_VAL                                                 '%23%28%5E%7C%5B+%0A%0D%09%5D%29%28%28http%28s%3F%29%3A%2F%2F%29%28www%5C.%29%3F%28%5Ba-z0-9_-%5D%2B%28%5C.%5Ba-z0-9_-%5D%2B%29%2B%29%28%2F%5B%5E%2F+%0A%0D%5D%2A%29%2A%29%23'
          3        SEND_VAL                                                 '%5C1%3Ca+href%3D%22%5C2%22+target%3D%22_blank%22%3E%5C2%3C%2Fa%3E'
          4        SEND_VAR                                                 !0
          5        DO_ICALL                                         $1      
          6        ASSIGN                                                   !0, $1
    5     7        INIT_FCALL                                               'preg_replace'
          8        SEND_VAL                                                 '%23%28%5E%7C%5B+%0A%0D%09%5D%29%28%28ftp%3A%2F%2F%29%28www%5C.%29%3F%28%5Ba-z0-9_-%5D%2B%28%5C.%5Ba-z0-9_-%5D%2B%29%2B%29%28%2F%5B%5E%2F+%0A%0D%5D%2A%29%2A%29%23'
          9        SEND_VAL                                                 '%5C1%3Ca+href%3D%22%5C2%22+target%3D%22_blank%22%3E%5C2%3C%2Fa%3E'
         10        SEND_VAR                                                 !0
         11        DO_ICALL                                         $3      
         12        ASSIGN                                                   !0, $3
    6    13        INIT_FCALL                                               'preg_replace'
         14        SEND_VAL                                                 '%23%28%5Ba-z_-%5D%5Ba-z0-9%5C._-%5D%2A%40%5Ba-z0-9_-%5D%2B%28%5C.%5Ba-z0-9_-%5D%2B%29%2B%29%23'
         15        SEND_VAL                                                 '%3Ca+href%3D%22mailto%3A%5C1%22%3E%5C1%3C%2Fa%3E'
         16        SEND_VAR                                                 !0
         17        DO_ICALL                                         $5      
         18        ASSIGN                                                   !0, $5
    7    19        INIT_FCALL                                               'preg_replace'
         20        SEND_VAL                                                 '%23%28%5E%7C%5Cs%29%28www%5C.%5Ba-z0-9_-%5D%2B%28%3F%3A%5C.%5Ba-z0-9_-%5D%2B%29%2B%28%3F%3A%2F%5B%5E%2F%5Cs.%5D%2B%29%2A%29%23'
         21        SEND_VAL                                                 '%5C1%3Ca+href%3D%22http%3A%2F%2F%5C2%22+target%3D%22_blank%22%3E%5C2%3C%2Fa%3E'
         22        SEND_VAR                                                 !0
         23        DO_ICALL                                         $7      
         24        ASSIGN                                                   !0, $7
    8    25        INIT_FCALL                                               'preg_replace'
         26        SEND_VAL                                                 '%23%28%5E%7C%5B+%0A%0D%09%5D%29%28ftp%5C.%28%5Ba-z0-9_-%5D%2B%28%5C.%5Ba-z0-9_-%5D%2B%29%2B%29%28%2F%5B%5E%2F+%0A%0D%5D%2A%29%2A%29%23'
         27        SEND_VAL                                                 '%5C1%3Ca+href%3D%22ftp%3A%2F%2F%5C2%22+target%3D%22_blank%22%3E%5C2%3C%2Fa%3E'
         28        SEND_VAR                                                 !0
         29        DO_ICALL                                         $9      
         30        ASSIGN                                                   !0, $9
    9    31        INIT_FCALL                                               'nl2br'
         32        SEND_VAR                                                 !0
         33        DO_ICALL                                         $11     
         34        ASSIGN                                                   !0, $11
   10    35      > RETURN                                                   !0
   11    36*     > RETURN                                                   null

End of function link_replace

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
255.86 ms | 1013 KiB | 18 Q