de.comp.lang.php.* FAQ

28.26. Parse error on line 1 ... (bei Verwendung von XML/XHTML)

Antwort von Clemens Koppensteiner

Im Normalfall erlaubt PHP den Skriptbereicht mit <? ?> (den sogenannten Short-Tags) einzugrenzen, da diese Variante schneller zu schreiben ist - als <?php ?> - und man außerdem einfach Variablen ausgeben kann (<?=$variable ?>). Für PHP ist es aber unmöglich diese Notation von einer XML-Deklaration (<?xml version="1.0" ?>) zu unterscheiden; der Parser glaubt daher, dass es sich hierbei um PHP-Code handelt, der natürlich syntaktisch nicht korrekt ist.

Um das Parsen der Short-Tags abzuschalten, muss man den Eintrag short_open_tag in der php.ini auf off setzen. Danach wird nur mehr Code innerhalb der XML-konformen Processing Instructions (PI) <?php ?> bzw. dem <script language="php"> ... </script> Tag interpretiert.

Alternativ kann man natürlich auch die XML-Deklaration mittels echo ausgeben:

<?php echo '<?xml version="1.0" ?>'; ?>

Valid HTML 4.01! Valid CSS!

28.26. Parse error on line 1 ... (bei Verwendung von XML/XHTML)
http://www.php-faq.de/q/q-fehler-shorttags-xml.html
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team