3v4l.org

run code in 300+ PHP versions simultaneously
<?php function GenerateAlbum($match) { return "<div class=\"album\>Do whatever: " . strtoupper($match[1]) . "</div>"; } function FormatModules($text) { $text = preg_replace_callback('~\[album\](.+?)\[/album\]~s', "GenerateAlbum", $text); $find = array( '~\[img width=(.*?) height=(.*?) alt=(.*?)\](https?://.*?\.(?:jpg|jpeg|gif|png))\[/img\]~s', '~\[youtube\](.+?)\[/youtube\]~s', '~\[vimeo\](.+?)\[/vimeo\]~s' ); $replace = array( '<img src="$4" width="$1" height="$2" alt="$3" />', '<iframe src="http://www.youtube.com/embed/$1"></iframe>', '<iframe src="https://player.vimeo.com/video/$1"></iframe>' ); return preg_replace($find, $replace, $text); } echo FormatModules("[vimeo]test1[/vimeo]\n\n[album]test2[/album]\n\njust text\n\n[img width=50 height=100 alt='sumpin good']http://www.example.com/image.gif[/img]\n\n[youtube]test3[/youtube]");
Output for git.master, git.master_jit, rfc.property-hooks
<iframe src="https://player.vimeo.com/video/test1"></iframe> <div class="album\>Do whatever: TEST2</div> just text <img src="http://www.example.com/image.gif" width="50" height="100" alt="'sumpin good'" /> <iframe src="http://www.youtube.com/embed/test3"></iframe>

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:
34.84 ms | 406 KiB | 5 Q