PHP und XHTML?

Zweipunktnull

Commander
Registriert
Dez. 2004
Beiträge
2.546
Hallo!

Ich hab da ein kleines Problem mit PHP im Zusammenhang mit XHTML.
Bislang fing meine index.php mit folgenden Zeilen an:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
Nun hatte ich allerdings vor die Datei ganz exakt zu schreiben, d.h. mit folgenden Zeilen am Anfang:
HTML:
<?xml version="1.1" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Allerdings bekomme ich immer eine Fehlermeldung. Ich hab sogar alleine rausgefunden warum.:)
<? ?> ist ja die Kurzform von <?php ?>. ALso schaltet der Server direkt am Anfang schon innen PHP Modus.
Wie ist das jetzt, wenn ich exakte XHTML-Dateien inkl. XML-Deklaration schreiben will?
Oder ist das gar nicht möglich, wenn ich PHP benutzen will? (also Endung *.php)

MfG
Valentin
 
Sorry, unnötiger Theard. Ich hätte doch noch etwas mehr nach den Möglichkeiten googlen sollen... :rolleyes:
HTML:
<?php echo '<?xml version="1.1" encoding="UTF-8"?>'; ?>

Nee, halt, doch nicht unnötig! Nun bekommt mein Dokument ja ein "not Valid" vom W3C Validator. Gibt's denn keine valide Möglichkeit, eine XML-Deklaration zu machen?
 
Zuletzt bearbeitet:
Wenn du Zugriff auf die php.ini hast dann einfach öffnen und
PHP:
short_open_tag = Off
hinzufügen oder wenn der Eintrag schon vorhanden ist von On auf Off umändern.

Per ini_set() müsste das Ganze so aussehen:
PHP:
ini_set('short_open_tag', 0);
 
hm... jetzt hab ich da folgendes stehen:
HTML:
<?php error_reporting(E_ALL | E_STRICT); ini_set('short_open_tag', 'Off');?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
aber es geht nicht. folgende fehlermeldung kommt:
Parse error: parse error, unexpected T_STRING in C:\Programmieren\XAMPP\xampp\htdocs\index.php on line 2

Ich probiere es im Moment lokal mit Hilfe des XAMPP aus. Da müsste ich doch vollen Zugriff auf diese Datei haben...

EDIT: Habs jetzt in der "xampp/php/php.ini" und "xampp/php/php5.ini" verändert. geht aber auch nicht
laut apachefriends sollte in xampp\apache\conf\php.ini noch eine sein. aber das ist bei mir keine php.ini
ich hab da einfach mal eine von xampp/php reinkopiert - erfolglos.
 
Zuletzt bearbeitet:
<?php error_reporting(E_ALL | E_STRICT); ini_set('short_open_tag', 'Off');?>

Es müsste heißen: ini_set('short_open_tag', 0);
Also Boolean, nicht String.

XAMPP verwende ich auch auf meinem Root, allerdings unter Linux. Dort sind alle relevanten Konfigurationsdateien im /etc Verzeichnis und es gibt auch keine doppelten Konfigurationsdateien.
 
Zuletzt bearbeitet:
Zurück
Oben