$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\']';
$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;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php