/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
PHP og XHTML
Fra : J. Nielsen


Dato : 13-08-03 11:58

Hej!

Jeg vil gerne lave min websider i XHTML sammen med PHP, men har problemer
med at komme igang. Jeg har fundet følgende lille eksempel, som virker fint,
når jeg kalder filen for test1.html: (se evt. www.jbro.dk/xhtml/test1.html)

<?xml version="1.0" encoding="iso-8859-1"?>
<!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" xml:lang="dk" >
<head>
<title>Virtual Library</title>
</head>
<body>
<p>Dette er min første XHTML-side</p>
</body>
</html>

Men hvis jeg omdøber filen til test1.php med henblik på at skrive php-kode i
filen, så får jeg følgende fejlmeddelelse, når jeg forsøger at se filen i en
browser (se evt. www.jbro.dk/xhtml/test1.php):

Parse error: parse error, unexpected T_STRING in
/customers/jbro.dk/jbro.dk/httpd.www/xhtml/test1.php on line 1

Jeg forstår det ikke! Er det ikke muligt at få php og XHTML til at arbejde
sammen?

Jeg ser frem til at høre fra jer!

Med venlig hilsen

Jakob Bro Nielsen



 
 
Tonni Aagesen (13-08-2003)
Kommentar
Fra : Tonni Aagesen


Dato : 13-08-03 12:10

J. Nielsen wrote:

> Jeg vil gerne lave min websider i XHTML sammen med PHP, men har problemer
> med at komme igang. Jeg har fundet følgende lille eksempel, som virker fint,
> når jeg kalder filen for test1.html: (se evt. www.jbro.dk/xhtml/test1.html)
>
> <?xml version="1.0" encoding="iso-8859-1"?>
^^^^^

I php.ini:

short_open_tag = Off

eller i en .htaccess fil:
php_value short_open_tag Off

--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


Martin C. Petersen (13-08-2003)
Kommentar
Fra : Martin C. Petersen


Dato : 13-08-03 12:13

> Jeg vil gerne lave min websider i XHTML sammen med PHP, men har problemer
> med at komme igang. Jeg har fundet følgende lille eksempel, som virker
fint,
> når jeg kalder filen for test1.html: (se evt.
www.jbro.dk/xhtml/test1.html)
>
> <?xml version="1.0" encoding="iso-8859-1"?>
[snip]
> Men hvis jeg omdøber filen til test1.php med henblik på at skrive php-kode
i
> filen, så får jeg følgende fejlmeddelelse, når jeg forsøger at se filen i
en
> browser (se evt. www.jbro.dk/xhtml/test1.php):
Ret første linie til
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";

PHP opfatter indholdet mellem <? og ?> som PHP-kode, hvilket det i dette
tilfælde ikke er..
Eventuelt kunne man sætte PHP op til kun at fortolke tekst mellem <?php og
?>


Martin



Anders K. Madsen (13-08-2003)
Kommentar
Fra : Anders K. Madsen


Dato : 13-08-03 12:21

On Wed, 13 Aug 2003 12:57:47 +0200
"J. Nielsen" <mail@jbro.NOSPAMdk> wrote:
> Parse error: parse error, unexpected T_STRING in
> /customers/jbro.dk/jbro.dk/httpd.www/xhtml/test1.php on line 1
>
> Jeg forstår det ikke! Er det ikke muligt at få php og XHTML til at arbejde
> sammen?
>
> Jeg ser frem til at høre fra jer!
>

http://www.webcafe.dk/tipsogtricks/php/phpxml.html

Mvh.
   Madsen

--
* Anders K. Madsen * http://lillesvin.linux.dk *
* madsen@sjovedyr.dk * Linux, Ruby, PHP and SQL *

Peter Sepstrup (13-08-2003)
Kommentar
Fra : Peter Sepstrup


Dato : 13-08-03 12:33

J. Nielsen skrev:

> Jeg ser frem til at høre fra jer!

http://www.php-faq.dk/index.php?faq=16
--
Mvh. Peter.
___________________________________
www.SepstrupNET.dk & www.PHP-FAQ.dk

Martin Sveegaard (13-08-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 13-08-03 13:33

On Wed, 13 Aug 2003 13:32:35 +0200, Peter Sepstrup
<peter@_REMOVE_sepstrupnet.dk> wrote:

>J. Nielsen skrev:
>
>> Jeg ser frem til at høre fra jer!
>
>http://www.php-faq.dk/index.php?faq=16

Det ser ud til at udtrykkene 'XML' og 'XHTML' bliver brugt i flæng,
men der er dog forskel på de to. Eller er der noget jeg har
misforstået?
MVH Martin S

Jacob Atzen (13-08-2003)
Kommentar
Fra : Jacob Atzen


Dato : 13-08-03 13:49

Martin Sveegaard <sveegaard@tdcadslFJERNDETTE.dk> writes:

> On Wed, 13 Aug 2003 13:32:35 +0200, Peter Sepstrup
> <peter@_REMOVE_sepstrupnet.dk> wrote:
>
> >J. Nielsen skrev:
> >
> >> Jeg ser frem til at høre fra jer!
> >
> >http://www.php-faq.dk/index.php?faq=16
>
> Det ser ud til at udtrykkene 'XML' og 'XHTML' bliver brugt i flæng,
> men der er dog forskel på de to. Eller er der noget jeg har
> misforstået?

Stor forskel! XML er "Extended markup language", et generelt sprog der
kan bruges til en hel masse. XHTML er - populært sagt - HTML der
overholder kravene for at være gyldig XML. Som sådan kan du anskue
XHTML som værende en forsvindende lille delmængde af XML.

--
Med venlig hilsen
- Jacob Atzen

Martin Sveegaard (13-08-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 13-08-03 13:57

On 13 Aug 2003 14:48:48 +0200, Jacob Atzen <jacob@aub.dk> wrote:

>> Det ser ud til at udtrykkene 'XML' og 'XHTML' bliver brugt i flæng,
>> men der er dog forskel på de to. Eller er der noget jeg har
>> misforstået?
>
>Stor forskel! XML er "Extended markup language", et generelt sprog der
>kan bruges til en hel masse. XHTML er - populært sagt - HTML der
>overholder kravene for at være gyldig XML. Som sådan kan du anskue
>XHTML som værende en forsvindende lille delmængde af XML.

Er det så osse korrekt at denne linie ikke er en nødvendig del af
XHTML:

<?xml version="1.0" encoding="iso-8859-1"?>

For jeg mener da at den validerer fint med:

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

MVH Martin S

J. Nielsen (13-08-2003)
Kommentar
Fra : J. Nielsen


Dato : 13-08-03 13:11

Tak for hjælpen!

/Jakob

"J. Nielsen" <mail@jbro.NOSPAMdk> wrote in message
news:3f3a19a9$0$6829$ba624c82@nntp02.dk.telia.net...
> Hej!
>
> Jeg vil gerne lave min websider i XHTML sammen med PHP, men har problemer
> med at komme igang. Jeg har fundet følgende lille eksempel, som virker
fint,
> når jeg kalder filen for test1.html: (se evt.
www.jbro.dk/xhtml/test1.html)
>
> <?xml version="1.0" encoding="iso-8859-1"?>
> <!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" xml:lang="dk" >
> <head>
> <title>Virtual Library</title>
> </head>
> <body>
> <p>Dette er min første XHTML-side</p>
> </body>
> </html>
>
> Men hvis jeg omdøber filen til test1.php med henblik på at skrive php-kode
i
> filen, så får jeg følgende fejlmeddelelse, når jeg forsøger at se filen i
en
> browser (se evt. www.jbro.dk/xhtml/test1.php):
>
> Parse error: parse error, unexpected T_STRING in
> /customers/jbro.dk/jbro.dk/httpd.www/xhtml/test1.php on line 1
>
> Jeg forstår det ikke! Er det ikke muligt at få php og XHTML til at arbejde
> sammen?
>
> Jeg ser frem til at høre fra jer!
>
> Med venlig hilsen
>
> Jakob Bro Nielsen
>
>



Anders K. Madsen (13-08-2003)
Kommentar
Fra : Anders K. Madsen


Dato : 13-08-03 13:44

On Wed, 13 Aug 2003 14:32:55 +0200
Martin Sveegaard <sveegaard@tdcadslFJERNDETTE.dk> wrote:

[SNIP]
> Det ser ud til at udtrykkene 'XML' og 'XHTML' bliver brugt i flæng,
> men der er dog forskel på de to. Eller er der noget jeg har
> misforstået?

Tjaeh, det kommer lidt an på hvordan du har forstået det fra første færd.
Men XHTML (eXtended HyperText Markup Language) er jo sådan set en ny version af
HTML implementeret i XML (eXtensible Markup Language).

Med hensyn til lige præcis det her problem med PHP der giver parse error p.g.a.
<?xml version="1.0"?>, så er det jo lige meget om det er XHTML eller XML, da
førnævnte linje skal bruges i begge tilfælde og løsningerne er jo de samme.

Mvh.
   Madsen

--
* Anders K. Madsen * http://lillesvin.linux.dk *
* madsen@sjovedyr.dk * Linux, Ruby, PHP and SQL *

Martin Sveegaard (13-08-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 13-08-03 14:01

On Wed, 13 Aug 2003 14:44:03 +0200, "Anders K. Madsen"
<madsen@sjovedyr.dk> wrote:

>On Wed, 13 Aug 2003 14:32:55 +0200
>Martin Sveegaard <sveegaard@tdcadslFJERNDETTE.dk> wrote:
>
>[SNIP]
>> Det ser ud til at udtrykkene 'XML' og 'XHTML' bliver brugt i flæng,
>> men der er dog forskel på de to. Eller er der noget jeg har
>> misforstået?
>
>Tjaeh, det kommer lidt an på hvordan du har forstået det fra første færd.
>Men XHTML (eXtended HyperText Markup Language) er jo sådan set en ny version af
>HTML implementeret i XML (eXtensible Markup Language).
>
>Med hensyn til lige præcis det her problem med PHP der giver parse error p.g.a.
><?xml version="1.0"?>, så er det jo lige meget om det er XHTML eller XML, da
>førnævnte linje skal bruges i begge tilfælde og løsningerne er jo de samme.
>
>Mvh.
>   Madsen

Ok, tak. Der var så noget jeg havde misforstået. Jeg synes nemlig den
validerede fint uden: <?xml version="1.0"?>
Hvor jeg bare havde brugt nedenstående:

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
MVH Martin S

Anders Wegge Jakobse~ (13-08-2003)
Kommentar
Fra : Anders Wegge Jakobse~


Dato : 13-08-03 16:36

"J" == J Nielsen <mail@jbro.NOSPAMdk> writes:

> Hej!
> Jeg vil gerne lave min websider i XHTML sammen med PHP, men har problemer
> med at komme igang. Jeg har fundet følgende lille eksempel, som virker fint,
> når jeg kalder filen for test1.html: (se evt. www.jbro.dk/xhtml/test1.html)

> <?xml version="1.0" encoding="iso-8859-1"?>
> <!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" xml:lang="dk" >
> <head>
> <title>Virtual Library</title>
> </head>
> <body>
> <p>Dette er min første XHTML-side</p>
> </body>
> </html>

> Men hvis jeg omdøber filen til test1.php med henblik på at skrive php-kode i
> filen, så får jeg følgende fejlmeddelelse, når jeg forsøger at se filen i en
> browser (se evt. www.jbro.dk/xhtml/test1.php):

> Parse error: parse error, unexpected T_STRING in
> /customers/jbro.dk/jbro.dk/httpd.www/xhtml/test1.php on line 1

> Jeg forstår det ikke! Er det ikke muligt at få php og XHTML til at arbejde
> sammen?

Sæt short_open_tag til Off, eller brug printf() til at skrive den
første linie ud. Du skal iøvrigt være opmærksom på at du sætter IE i
quirks-mode, hvis du starter med <?xml ...>. En langt bedre metode er
at sende en content-type og encoding i HTTP-headeren:

if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
header("Content-type: application/xhtml+xml; charset=ISO-8859-1", true);
} else {
header("Content-type: text/html; charset=ISO-8859-1", true);
}



--
/Wegge <http://outside.bakkelygaard.dk/~wegge/>

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408935
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste