Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php a xhtml 1.1
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
meezan
Jestem tu poraz pierwszy i mam nadzieję że ktoś mnie zrozumie i pomoże.
Jak zrobić żeby po wykonaniu skryptu .php na serwerze przeglądarka czytała stronę jako .xhtml a nie .html bo napisałem strone zgodną z XHTML 1.1 i żeby przeszła walidacje w finale musi miec rozszerzenie .xhtml (application/xhtml+xml) a php wyświetla w samym .html (text/html) ?

Moja strona
---------------------
Oraz wynik jej walidacji
mike
Cytat(meezan @ 16.06.2008, 13:29:18 ) *
Jestem tu poraz pierwszy i mam nadzieję że ktoś mnie zrozumie i pomoże.
Jak zrobić żeby po wykonaniu skryptu .php na serwerze przeglądarka czytała stronę jako .xhtml a nie .html bo napisałem strone zgodną z XHTML 1.1 i żeby przeszła walidacje w finale musi miec rozszerzenie .xhtml (application/xhtml+xml) a php wyświetla w samym .html (text/html) ?
Bzdura.
Żeby dokument był poprawnie skonstruowanym dokumentem XHTML może mieć rozszerzenie nawet .jpg jak zapragniesz tongue.gif
Błędy, które masz są spowodowane tym że masz błędy w kodzie strony a nie złe rozszerzenie.

Zresztą jest jasno napisane:
Cytat
document type does not allow element "HR" here
nie możesz używać znacznika <hr> tam gdzie użyłeś.
meezan
Sory na serwerze miałem jeszcze rozszerzenie .xhtml a nie .php i dlatego walidator pokazywał bzdury. Sprawdz teraz.
kwiateusz
zwyczajnie z poziomu php wysyłaj header('Content-Type: application/xhtml+xml') z czem pod ie strona nie zadziała z takim headerem, on nie wie co to xhtml...
l0ud
meezan, jeszcze przed wysłaniem nagłówków, dodaj w kodzie php strony następującą linijkę:
  1. <?php
  2. header('Content-Type: application/xhtml+xml; charset=utf-8');
  3. ?>


...z tym że w ten oto sposób zerwiesz z kompatybilnością z IE winksmiley.jpg

Tak przy okazji, na XHTML jest (imho) za wcześnie - XHTML1.1 nie jest obsługiwany przez IE, a XHTML1.0 to właściwie... HTML 4.01 z ładnym 'eks' na początku tongue.gif
mike
Nagłówek (który podał ~kwiateusz) wysłany z poziomu PHP załatwi sprawę. Musisz jedynie pamiętać by nie serwować go przeglądarkom nie obsługującym xhtml'a.
Najlepiej jeśli wysyłanie tego nagłówka uzależnisz od tego czy w tablicy $_SERVER przeglądarka powie że akceptuje. Dokładniej mam na myśli zawartość $_SERVER['HTTP_ACCEPT']

Ale skoro nie jest to obsługiwane to należy zastanowić się. Po co?
Już lepiej pójść w XHTML 1.0 Strict.
meezan
W kodzie miałem:
header('Content-Type: application/xhtml+xml; charset=utf-8');
a w meta
http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"
ale wielkie g... to daje . Chyba faktycznie wrócę do Strict XHTML 1.0
sobstel
Cytat(mike @ 16.06.2008, 13:49:45 ) *
Już lepiej pójść w XHTML 1.0 Strict.


O ile nie HTML (Strict oczywiście). Polecam lekturę http://hixie.ch/advocacy/xhtml.
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.