Erstmal vorweg: ich glaube, ich hab mich nicht so gut ausgedrückt. Ich meine kein UTF-8, sondern die Unicode-Entities in HTML. Beispiel: & für das Ampersand '&'.
a) alle Named Entities in UTF-8-Entities wandeln
http://de3.php.net/html_entity_decode
$text = html_entity_decode ($text, ENT_COMPAT, 'UTF-8');
Wie gesagt, ich will nur diese Unicode-Entities -- das hilft mir da nicht. Ich habs trotzdem mal ausprobiert: "cannot yet handle MBCS in html_entity_decode()". Vielleicht liegt's an meiner PHP-Version.
b) Alleinstehende '&' in die entsprechende Entity wandeln
$text = str_replace ('&', '&', $text);
Und woher weiß ich dabei, dass das '&' alleine steht (und nicht Teil eines Entities ist)? In dem zu verarbeitenden Source ist alles mögliche!
c) Alle non-ASCII-Zeichen (ISO-8859-15) ebenfalls nach UTF-8 wandeln
Hab ich verworfen, nicht nötig.
Mittlerweile steht meine Lösung jedoch und funktioniert für meinen (doch recht speziellen) Fall.