3v4l.org

run code in 300+ PHP versions simultaneously
<?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 git.master, git.master_jit, rfc.property-hooks
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: ''

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
49.66 ms | 402 KiB | 8 Q