3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $re = '/(.*?)(\[\w{3}=\')(\w+\.\w+)(\'\])(.*?)(\[\w{3}=\')(\w+\.\w+).*/s'; $str = 'Hello, view this pdf [PDF=\'hello.pdf\'] and then view this PDF [PDF=\'goodmorning.pdf\'] Hello, view this pdf <object data="https://myurl.com/media/hello.pdf" class="pdf-shortcode- iframe" type="application/pdf"> <iframe class="pdf-shortcode-iframe" src="https://docs.google.com/viewer? url=https://myurl.com/media/hello.pdf&embedded=true"></iframe> </object> and then view this PDF <object data="https://myurl.com/media/goodmorning.pdf" class="pdf- shortcode-iframe" type="application/pdf"> <iframe class="pdf-shortcode-iframe" src="https://docs.google.com/viewer? url=https://myurl.com/media/hello.pdf&embedded=true"></iframe> </object>'; $subst = '$1 <object data=\\"https://myurl.com/media/$3\\" class=\\"pdf-shortcode-iframe" type=\\"application/pdf\\"> <iframe class=\\"pdf-shortcode-iframe\\" src=\\"https://docs.google.com/viewer?url=https://myurl.com/media/$3&embedded=true\\"></iframe> </object>$5 <object data=\\"https://myurl.com/media/$7\\" class=\\"pdf-shortcode-iframe\\" type=\\"application/pdf\\"> <iframe class=\\"pdf-shortcode-iframe\\" src=\\"https://docs.google.com/viewer? url=https://myurl.com/media/$3&embedded=true"></iframe> </object>'; $result = preg_replace($re, $subst, $str); echo "The result of the substitution is ".$result;
Output for 5.6.0 - 5.6.30, hhvm-3.15.4, 7.0.0 - 7.2.6
The result of the substitution is Hello, view this pdf <object data=\"https://myurl.com/media/hello.pdf\" class=\"pdf-shortcode-iframe" type=\"application/pdf\"> <iframe class=\"pdf-shortcode-iframe\" src=\"https://docs.google.com/viewer?url=https://myurl.com/media/hello.pdf&embedded=true\"></iframe> </object> and then view this PDF <object data=\"https://myurl.com/media/goodmorning.pdf\" class=\"pdf-shortcode-iframe\" type=\"application/pdf\"> <iframe class=\"pdf-shortcode-iframe\" src=\"https://docs.google.com/viewer? url=https://myurl.com/media/hello.pdf&embedded=true"></iframe> </object>