3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php var_dump( preg_match_all( '/ (?<LITERAL_STRING> [^{]* ) | (?<INLINE_TAG_START>{) (?<TAG_NAME>@\w+) \s* #(?: # (?<TAG_WORD>[\S]*) # (?<TAG_WHITESPACE>[\s]*) #)* (?<I>[\w|\s]*)* (?<INLINE_TAG_END>}) /ux', 'This is {@inline a tag with} a description {@see descriptions} that is divided', $matches, PREG_SET_ORDER ) ); foreach ($matches as $key => $match) { echo "\n" . $key . "\n"; foreach ($match as $innerKey => $element) { if (is_numeric($innerKey)) { continue; } echo $innerKey .': '. var_export($element, true) . "\n"; } }
Output for 4.4.6 - 4.4.9, 5.2.2 - 7.1.0
int(8) 0 LITERAL_STRING: 'This is ' 1 LITERAL_STRING: '' 2 LITERAL_STRING: '' INLINE_TAG_START: '{' TAG_NAME: '@inline' I: '' INLINE_TAG_END: '}' 3 LITERAL_STRING: ' a description ' 4 LITERAL_STRING: '' 5 LITERAL_STRING: '' INLINE_TAG_START: '{' TAG_NAME: '@see' I: '' INLINE_TAG_END: '}' 6 LITERAL_STRING: ' that is divided' 7 LITERAL_STRING: ''
Output for 5.2.0 - 5.2.1
Warning: preg_match_all(): Compilation failed: unrecognized character after (?< at offset 16 in /in/cDbrc on line 22 bool(false) Warning: Invalid argument supplied for foreach() in /in/cDbrc on line 25
Output for 4.3.11 - 4.4.5, 5.0.0 - 5.1.6
Warning: preg_match_all(): Compilation failed: unrecognized character after (?< at offset 16 in /in/cDbrc on line 22 bool(false)
Output for 4.3.0 - 4.3.10
Warning: Compilation failed: unrecognized character after (?< at offset 16 in /in/cDbrc on line 22 bool(false)