Torsten: XHTML-Deklaration und PHP

Nabend!

ich habe ein Dokument welches mit der Endung .PHP endet und als XHTML-Dokument deklariert ist. Wenn ich das Dokument im Browser öffnen will, bekomme ich vom PHP-Interpreter eine Parse-Error in der ersten Zeile:

  
<?xml version="1.0" encoding="ISO-8859-1" ?>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"  
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
...  

Die XML-Deklaration in der ersten Zeile brauche ich laut W3C, was ist aber wenn ich PHP-Code in diesem Dokument verwenden möchte?

Gruß
Torsten

  1. Hallo Torsten.

    Die XML-Deklaration in der ersten Zeile brauche ich laut W3C, was ist aber wenn ich PHP-Code in diesem Dokument verwenden möchte?

    Dann gibst du den XML-Prolog einfach wie folgt aus:

    echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';

    Oder, um einen Zeilenumbruch im Quelltext zu erzeugen:

    echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n";

    Gruß, Ashura

    --
    Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
    Try it: Become an Opera Lover in 30 days
    Meine Browser: Opera 8.0 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
    IE Layout-Workaround №1: <!--[if IE]><style type="text/css">*{display:none;}</style><![endif]-->
    1. Hi,

      ahha, vielen dank!

      Gruß
      Torsten

      1. Hi nochmal,

        ich hätte das vorher ausprobieren sollen,
        ich bekommen immer noch einen Parse-Error in der ersten Zeile.

        Gruß
        Torsten

        1. und Hi nochmal,

          ich hätte das vorher ausprobieren sollen,
          ich bekommen immer noch einen Parse-Error in der ersten Zeile.

          uhwa, ich merk schon, is wieder spät geworden, hat sich erledigt, mein fehler, alles funzt, thx.

          gruß
          torsten

    2. Moin,

      Dann gibst du den XML-Prolog einfach wie folgt aus:

      echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';

      Hmm, die einfacherere und bessere[tm] Lösung ist, die nichtsnutzigen short_open_tags in der Konfiguration abzustellen.

      --
      Henryk Plötz
      Grüße aus Berlin
      ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
      ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
      1. Hallo Henryk.

        Hmm, die einfacherere und bessere[tm] Lösung ist, die nichtsnutzigen short_open_tags in der Konfiguration abzustellen.

        Ja, das ist natürlich eine sehr gute Lösung, wenn man zumindest Zugriff auf .htaccess hat und diese abschalten kann.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
        Try it: Become an Opera Lover in 30 days
        Meine Browser: Opera 8.0 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
        IE Layout-Workaround №1: <!--[if IE]><style type="text/css">*{display:none;}</style><![endif]-->
        1. Hi,

          Hmm, die einfacherere und bessere[tm] Lösung ist, die nichtsnutzigen short_open_tags in der Konfiguration abzustellen.

          Ja, das ist natürlich eine sehr gute Lösung, wenn man zumindest Zugriff auf .htaccess hat und diese abschalten kann.

          Zugriff auf .htaccess hab ich. Könnt ihr mir das etwas genau erklären? Etwas Quellcode wäre nicht schlecht.

          Gruß
          Torsten

          1. hi,

            Hmm, die einfacherere und bessere[tm] Lösung ist, die nichtsnutzigen short_open_tags in der Konfiguration abzustellen.

            Zugriff auf .htaccess hab ich. Könnt ihr mir das etwas genau erklären? Etwas Quellcode wäre nicht schlecht.

            erst machst du klicki auf obigen link.
            und dann schaust du dir ggf. noch http://de.php.net/configuration.changes an.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Hi,

              erst machst du klicki auf obigen link.
              und dann schaust du dir ggf. noch http://de.php.net/configuration.changes an.

              naja, eigentlich steh ich gar nich so auf klicki klacki, eher
              auf pasti andi copyti(spart jede menge zeit)

              aber danke das du mir einen guten lehrer sein willst,
              soviel mitgefühl hat nich jeder ;-)

              gruß
              torsten

  2. Hallo Torsten,

    Die XML-Deklaration in der ersten Zeile brauche ich laut W3C, was ist aber wenn ich PHP-Code in diesem Dokument verwenden möchte?

    Die Specifikation von XML erlaubt es, die XML-Deklaration wegzulassen, wenn entweder das Dokument in UTF-8 oder UTF-16 kodiert ist oder die Textkodierung nicht in einem anderem Protokoll definiert wurde. Da Du Latin1 verwendest, könntest Du die Angabe ISO-8859-1 im HTTP Header definieren und die XML-Deklaration einfach weglassen.

    Außer den PHP-Schwächen empfiehlt sich das sowieso, da der Internet Explorer in der ersten Zeile einen Doctype erwartet, um nicht in den Quirks Mode zu gehen.

    Tim