Остаётся вопрос: почему в строке str1 & заменяется, а в str2 - нет (заменяется на amp;, котрый нужно дополнительно убирать?
<head>
<script>
window.onload = function () {
var str1 = '<img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235">';
str1 = str1.replace(/&/g, '');
var str2 = document.body.innerHTML;
str2 = str2.replace(/&/g, '');
alert(str1 +'\n'+str2);
str2 = str2.replace(/amp;/g, '');
alert(str1 +'\n'+str2);
}
</script>
</head>
<body>
<img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235">
</body>