Actually most items in PHP are not case sensitive, only a few things such as Class names are...
Anyway, further investigation using this code shows that replacing "XXX" with the MD5() function does create the MD5 of the tag, however, strtoupper() / strtolower() / ucwords() do not appear to touch the substitution... strrev actually reverses the substitution "\1 to become "1\" in the data variable...
$file = "http://www.yahoo.com";
$fp = fopen($file,"r");
while (!feof($fp) ) {
$line = fgets($fp, 1024);
$data .= ereg_replace("<([>]*)>", XXX("\1") ,$line);
}
fclose($fp);
print $data;
Interestingly if you use a direct reference... eg.
$data .= ereg_replace("http", "FFFF" ,$line);
this works perfectly..
Still puzzled..
Steve