Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [xhtml] Pierwsze kroki: Problemy z prologiem.
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
scanner
No dobra. Jako że trzeba się rozwijać postanowiłem żyć w zgodzie z naturą i standardami, walidowac wszystko co się da i w ogóle. Przerabiam właśnie pewien serwis,a właściwie buduję go od nowa i tak sobie pomyślałem, że ugryzę tego XHTMLa. I po wklepaniu pierwszych linijek, mam:
Kod
<?php // funkcje, deklaracje itp ?>

<?xml version="1.0" encoding="iso-8859-2"?> // !!!!!!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
NIestety przeglądarka robi mi z tego:
Kod
Parse error: parse error, unexpected T_STRING in C:FoxServwwwxxx.xxx.plmain.php on line 31
czyli parser błędnie interpretuje linię zaznaczoną komentarzem. Rozumiem, że chodzi o <?xml ?>, ale dlaczego? php gryzie się z XHTML'em? Czy ja mam coś źle?

PS. czytałem http://xhtml.b7.pl/zasady.html#SkryptyPHP i powinno być OK. Foxserva mam 3.0. Na Linuxie (php 4.2.3) Dostaję błąd:
Kod
Parse error: parse error in /(...)/public_html/main.php on line 31
scanner
Problem rozwiązany:
Kod
<?php echo '<?xml version="1.0" encoding="iso-8859-2" ?'.'>'; ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
Czyli jak nie kijem go, to pałką smile.gif
dragossani
Dokładnie tak się to rozwiązuje.

Albo ustawia się php na short_open_tag = FALSE Tak jest jeszcze wygodniej i zmusza do utrzymywania dobrego stylu otwierania znaczników. Domyślnie <?xml i <?php nie są prawidłowo rozróżniane.
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.