$re = '/<script[^>]+?src=([\'"]?)([^\s>]+)\1[^>]*>(<\/script>)?/';
$str = '<script class="anyClass" src="anyFile.js" id="anyID">
<script class="anyClass" src="anyFile.js">
<script src="anyFile.js" id="anyID">
<script src="anyFile.js">
<script class=\'anyClass\' src=\'anyFile.js\' id=\'anyID\'>
<script class=\'anyClass\' src=\'anyFile.js\'
<script src=\'anyFile.js\' id=\'anyID\'>
<script src=\'anyFile.js\'>
<script class=anyClass src=anyFile.js id=anyID>
<script class=anyClass src=anyFile.js>
<script src=anyFile.js id=anyID>
<script src=anyFile.js >';
$subst = "\2";
$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