Tach!
$meta = '<' . '?xml encoding="UTF-8" ?' . ">\r\n";
wegen der eventuell eingeschalteten Short-Open-Tags. Aber auch bei ausgeschalteten Short-Open-Tags kotzen manche PHP Verionen noch ab, wenn eine derarige Zeile "<?xml ... ?>" auskommentiert im Dokument steht. Das "?>" scheint da trotzdem zu stören.
Das <? innerhalb eines String-Literals macht keine Probleme. Das muss nicht auseinandergenommen werden. Das ?> ist ebenfalls innerhalb eines Strings problemfrei. Allerdings verliert das String-Literal und alle andere Syntax beim Auskommentieren seine Bedeutung. Ein einzeiliger Kommentar (// oder #) endet nicht nur am Zeilenende, sondern auch an einem ?> in der Zeile. Ein mehrzeiliger (/* */) allerdings lässt sich nicht durch ein ?> aus der Ruhe bringen. Das ?> ist also nur für den Fall erforderlich, dass man die Zeile einzeilig auskommentieren möchte. Für den normalen Betrieb kann man alles beides einfach so zusammenschreiben.
Danke für die Erleuchtung.
Ich hatte mir angewöhnt, das "?>" immer (ähem) auseinanderzunehmen. Eben hatte ich nicht getan im Bastelscript und bin sofort damit auf die Schnauze gefallen.
Man bricht sich keinen ab, wenn man es sicherheitshalber immer auseinander nimmt.
Grüße
TS