3v4l.org

run code in 500+ PHP versions simultaneously
<?php $html = <<< TXT <a href="/test">test</a> <a href="/test/test">test1</a> <a href="/test/article/test">test2</a> <a href="/test/testarticle">test3</a> <a href="/test/test/articletest/" title="test4">test4</a> <a href="article/test/test">test5</a> TXT; echo preg_replace('~(<a(?>.+?)href\s*=\s*(["\'])(?>[^"\'><]*?article)(?>[^>]*?/))(.*?)(\2.*?>[^<]++</a>)~s', '\1\4', $html);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/OGq0e
function name:  (null)
number of ops:  5
compiled vars:  !0 = $html
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, '%3Ca+href%3D%22%2Ftest%22%3Etest%3C%2Fa%3E%0A%3Ca+href%3D%22%2Ftest%2Ftest%22%3Etest1%3C%2Fa%3E%0A%3Ca+href%3D%22%2Ftest%2Farticle%2Ftest%22%3Etest2%3C%2Fa%3E%0A%3Ca+href%3D%22%2Ftest%2Ftestarticle%22%3Etest3%3C%2Fa%3E%0A%3Ca+href%3D%22%2Ftest%2Ftest%2Farticletest%2F%22+title%3D%22test4%22%3Etest4%3C%2Fa%3E%0A%3Ca+href%3D%22article%2Ftest%2Ftest%22%3Etest5%3C%2Fa%3E'
   12     1        FRAMELESS_ICALL_3                preg_replace        ~2      '%7E%28%3Ca%28%3F%3E.%2B%3F%29href%5Cs%2A%3D%5Cs%2A%28%5B%22%27%5D%29%28%3F%3E%5B%5E%22%27%3E%3C%5D%2A%3Farticle%29%28%3F%3E%5B%5E%3E%5D%2A%3F%2F%29%29%28.%2A%3F%29%28%5C2.%2A%3F%3E%5B%5E%3C%5D%2B%2B%3C%2Fa%3E%29%7Es', '%5C1%5C4'
          2        OP_DATA                                                      !0
          3        ECHO                                                         ~2
          4      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
250.1 ms | 2416 KiB | 13 Q