Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: DOM saveHTML generuje kod który nie przechodzi walidacji
Forum PHP.pl > Forum > PHP
nevt
witajcie.

problem banalny, ale po paru godzinach kopania w necie nie znalazłem rozwiązania.

generuję w PHP dokument HTML z pomocą biblioteki DOM - obiekt DOMDocument. na końcu pobieram sobie kod wynikowy przez metodę saveHTML(). niestety kod który otrzymuję nie przechodzi walidacji dla XHTML 1.0 strict. w zasadzie błą jest jeden - znaczniki które powinny być domknięte ukośnikiem (jak meta, br, img) nie są, np.: dostaję
  1. <meta http-equiv="Content-type" content="application/xhtml+xml; charset=utf-8">
  2. <meta name="Description" content="...">
  3. <meta name="Author" content="...">
  4. <link rel="Stylesheet" type="text/css" href="./css/layout.css">
  5. </head>
  6. <body><div id="layout_box">WELCOME !! !<br>TEST</div></body>

jest jakiś sposób, żebym otrzymał z DOM kod przechodzacy walidację, czyli:
  1. <meta http-equiv="Content-type" content="application/xhtml+xml; charset=utf-8" />
  2. <meta name="Description" content="..." />
  3. <meta name="Author" content="..." />
  4. <link rel="Stylesheet" type="text/css" href="./css/layout.css" />
  5. </head>
  6. <body><div id="layout_box">WELCOME !! !<br />TEST</div></body>

oczywiście sam sobie mogę podomykać te tagi, ale nie chce mi się wierzyć, że biblioteka DOM jest w PHP 5 tak skaleczona... bedę wdzięczny za każdą sugestię.
nospor
http://bugs.php.net/bug.php?id=31130
Cytat
saveHTML produces HTML 4.0 and as Derick pointed out, you have to use saveXML
nevt
Wielkie dzięki. najwyraźniej generowałem złe pytania skoro tego nie znalazłem. saveXML rozwiązuje mój problem. pozdrawiam.

yahoo.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.