& v XML spouští entitu. Protože jste nedefinovali entitu &WhateverIsAfterThat je vyvolána chyba. Měli byste jej ukončit pomocí & .
$string = str_replace('&', '&', $string);
Chcete-li uniknout ostatním vyhrazeným znakům:
function xmlEscape($string) {
return str_replace(array('&', '<', '>', '\'', '"'), array('&', '<', '>', ''', '"'), $string);
}