Comment mélanger PHP et XHTML ?

Répondre
Partager Rechercher
[Message effacé à la demande de l'auteur]
L'erreur est à la première ligne à cause du <?xml ... ?>, que le serveur interprète comme une fonction PHP qu'il ne connait pas.

Tu dois remplacer par :
Code PHP:

<?php echo '<?xml ... ?>'?>

Ensuite, non, je ne crois pas que l'on puisse retirer l'attribut xml:lang, mais à la limite, tu peux mettre "en" par défaut, ce n'est pas si gênant.

Édition : on vire une bêtise que j'ai dite, merci Lango.
Citation :
Provient du message de Nirthael / Pépin
Édition : sinon, si tu penses utiliser divers caractères accentués, pense à remplacer l'encodage UTF-8 par un ISO-8859-1, sinon, ça risque de ne pas faire plaisir à l'oeil du visiteur.
je t'invite à éditer cette phrase, tu viens de dire une grosse bourde
[Message effacé à la demande de l'auteur]
[Message effacé à la demande de l'auteur]
Re: Comment mélanger PHP et XHTML ?
Citation :
Provient du message de Lumina
J'ai essayé de mélanger les deux, pour obtenir bonjour.php :
Code PHP:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  <head>
    <title>Bonjour !</title>
  </head>
  <body>
    <?php echo "Bonjour Jeux Online !<p>"?>
  </body>
</html>
J'ai parsé ton code avec xmlvalid et pour lui c'est bon donc tu n'as pas fait d'erreurs de syntaxe. Donc l'erreur est ailleurs.

[edit] sinon pépin à raison pour le

Code:
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
Effectivement, j'ai écrit plus vite que je n'ai réfléchi.

L'encodage UTF-8 peut parfaitement afficher les accents, mais pour cela il faut passer par les entités HTML.

Donc pour le soucis des accents Lumina, tu dois sois rester en UTF-8, mais remplacer les caractères accentués par leur équivalent en HTML, et encore, là je ne suis pas sûr car il faut que je vérifie si en XHTML les entités sont acceptées ou s'il ne faut pas les remplacer par autre chose [ex. : le "&*nbsp;" doit être remplacé par le "&*#160;" (mais sans *, que j'ai dû rajouter pour pouvoir l'afficher ici... )].

Ou alors tu passes en ISO-8859-1, et là il suffit de taper "é" pour afficher un "é" sans erreur de validation.

Donc, oui, je file éditer cette bourde, merci de l'avoir soulignée.
tu peux expliquer le problème de validation d'un caractère accentué codé en UTF-8 ?
Bien entendu, il faut que le document soit bien encodé en UTF-8...

D'ailleurs Lumina, ton document est bien encodé en UTF-8 ?

PS : tu peux ici utiliser le &amp;amp; pour afficher un code du type &amp;#123;
Il n'y a pas de problème de validation si le caractère est bien encodé, je suppose que son erreur doit venir du fait qu'un caractère non-encodé se soit glissé dedans ; surtout si ça passe avec un ISO-8859-1.

En revanche, il y a une erreur dans le code que je n'avais pas vue au début :

Code PHP:

<?php echo "Bonjour Jeux Online !<p>"?>

Tu as quelques soucis avec ta balise <p>
Les erreurs doivent venir de là.

PS : Merci pour le &amp;amp;, je n'y avais pas pensé.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés