Autor Zpráva
Hanz
Profil
Jakým spůsobem se žeší pokud máte PHP script v XHTML souboru? Celé se to musí uložit jako PHP, ale XHTML soubor začíná přeci
<?xml version="1.0" encoding="iso-8859-2"?>

A ono si to myslí že je to PHP script. Jak se to správně řeší. Mně napadlo:
<? echo '<?xml version="1.0" encoding="iso-8859-2"?>'?>

Ale nevím jestli je to to nejlepší řešení. Jak byste to dělali vy?
Acci
Profil
Zkus hledat, už se to tu řešilo

Nebo si ještě přečti http://www.vitdlouhy.cz/clanky/xhtml-parse-error-php.php
Dero
Profil
Máš to dobře.

Resp. lepší by možná bylo:
<?php echo '<?xml version="1.0" encoding="iso-8859-2"?>'?>


Taky to jde následovně:
<<?php ?>?xml version="1.0" encoding="windows-1250"?<?php ?>>
Spikee
Profil
Hanz
Pozri http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=21 11
Charlie
Profil
Hanz,

pokud nepoužíváš XML, tak tu deklaraci můžeš klidně vynechat. Není to podmínka validity.
Jan Václavík
Profil
používal sem to stejně jako ty... podle mě je to dobře...
thingwath
Profil
Charlie
U XHTML být musí, s jednou významnou výjimkou, totiž když je použito kódování UTF-8, aspoň tedá doufám, že si na to dobře vzpomínám,
llook
Profil
Pokud je soubor v UTF-8 nebo UTF-16, tak se může deklarace vynechat. Přesto je i v těchto případech často potřeba třeba pokud chcete quirk mode v MSIE.

Lze to obejít nějak takhle:
<?php echo('<?xml version="1.0"?>'); ?>
nebo takhle:
<<?php ?>?xml version="1.0"?>
Uzavírající značku není potřeba nijak hackovat, problém způsobuje jenom ta otvírající.

Případně lze v php.ini nastavit short_open_tag = 0, v takovém případě bude za otvírající značku bráno jenom <?php. Dá se to nastavit i v .htaccess:
php_flag short_open_tag 0
Toto téma je uzamčeno. Odpověď nelze zaslat.