Cosi dovrebbe andare meglio.

file : test445.php
Codice PHP:
<?php
function replace_tag($inputText,$tagToReplace,$textToReplace) {
  
$pattern "/(<\s*$tagToReplace\s*([^>]*)\s*>(.*?)<\/\s*$tagToReplace\s*>)/si";
 
$text    preg_replace($pattern,$textToReplace,$inputText);
 return 
$text;
// function replace_tag($tag,$textToReplace)

function replaceScript($inputText,$textToReplace) {
  
$pattern1 "/(<\s*script\s*([^>]*)\s*>)/si";
  
$pattern2 "/(<\/\s*script\s*>)/si";
 
 
$replace1 "AAAAAAAAAABBBBBBBBBBZZZZZZZZZRRRRRRRRR000000000";
 
$replace2 "000000000RRRRRRRRRZZZZZZZZZBBBBBBBBBBAAAAAAAAAA";
 
 
$text     preg_replace($pattern1,$replace1,$inputText);
 
$text     preg_replace($pattern2,$replace2,$text); 
 
 
$pattern3 "/$replace1(.*?)$replace2/si";
 
$text     preg_replace($pattern3,$textToReplace,$text); 
 
 return 
$text;
// function replaceScript($inputText,$textToReplace)

//==== Prendo il contenuto del codice html della pagina test445b.html
$contenuto file_get_contents("test445b.html");
$contenuto replace_tag($contenuto,"div","rimpiazzato");
$contenuto replaceScript($contenuto,"<!-- RIMPIAZZATO -->");
print 
$contenuto;
?>