3v4l.org

run code in 300+ PHP versions simultaneously
<?php $sentence = '[html style="font-size: 18px;" dir="ltr"][div style="font-size: 18px;" dir="ltr"][p style="font-weight: bold;"]Hello,[/p][p]You have got a new message from [a href="https://www.example.com/"]Example.com[/a][br][br].You could check your message on [a href="https://www.example.com/en/manager/inbox.html"]Manager[/a][/p][p][img src="https://www.example.com/assets/images/logo-default-120x50.png" width="120px" height="80px"][div style="color: #D4192D; font-weight: bold;"]Example.com Team[/div][/p][/div][/html]'; $rx = '~\[((\w+)\b[^]]*)\]((?>(?!\[\2\b).|(?R))*)\[\/\2]~s'; $tmp = ''; while (preg_match($rx, $sentence) && $tmp != $sentence) { $tmp = $sentence; $sentence = preg_replace($rx, '<$1>$3</$2>', $sentence); } $sentence = preg_replace('~\[([^]]*)]~', '<$1 />', $sentence); echo $sentence;

preferences:
30.26 ms | 402 KiB | 5 Q