begin process at 2012 02 15 09:59:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Xml

 > [PHP4] CLASSE DE CRÉATION DE DOCUMENT XHTML

[PHP4] CLASSE DE CRÉATION DE DOCUMENT XHTML


 Information sur la source

Note :
6 / 10 - par 1 personne
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Xml Classé sous :xhtml, strict, valide, w3c, document Niveau :Débutant Date de création :05/08/2007 Date de mise à jour :05/08/2007 19:20:25 Vu / téléchargé :11 898 / 163

Auteur : ordiman85

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


 Description

J'ai créé cette classe afin d'éviter de mélanger PHP et HTML et de simplifier l'utilisation du XHTML.
Cette classe essaie comme elle peut de créer un document XHTML 1.0 ou 1.1 W3C valide de façon simple.
Il se peut que votre document ne soit pas valide quand même, lorsque vous utilisez des balises non-XHTML ou des attributs comme "target" qui n'existent plus en XHTML 1.1. (voir la documentation W3C)

L'encodage du document est par défaut UTF-8 et la classe s'occupe toute seule d'encoder le contenu si à la base ce n'est pas de l'UTF-8. Attention : si vous changez le paramètre "encoding" vous obtiendrez de mauvais résultats !

Avec l'utilisation de cette classe votre code pourrait devenir beaucoup plus lisible qu'avant et les risques d'erreurs XHTML (et XML surtout) seront sûrement réduits...

Vous pouvez aussi vous servir de la classe XHTMLElement pour créer des balises indépendantes et les rajouter au document !

Source

  • <?php
  • // Exemple d'utilisation :
  • $Document = new XHTMLDocument();
  • $Document->setopt('tidy', true);
  • $Document->setopt('meta-http-equiv', true);
  • $Document->setopt('title', 'Accueil');
  • $Document->body(array('id' => 'body'));
  • $Document->open('div', array('id' => 'page'));
  • $Document->open('div', array('id' => 'top'));
  • $Document->add('h1', 'Mon document');
  • $Document->close();
  • $Document->open('div', array('id' => 'content'));
  • $Document->open('p');
  • $Document->text('Bienvenue sur mon site ! Explorez les outils de mon répertoire !');
  • $Document->close();
  • $List = new XHTMLElement('ul', array('id' => 'content-list'));
  • $Items = array('C/C++', 'PHP', 'Javascript', 'XHTML', 'AJAX');
  • foreach ( $Items as $Str )
  • $List->appendChild(new XHTMLElement('li', $Str));
  • $Document->add($List);
  • $Document->close();
  • $Document->close();
  • $Document->flush();
  • ?>
<?php

// Exemple d'utilisation :

$Document = new XHTMLDocument();

$Document->setopt('tidy', true);
$Document->setopt('meta-http-equiv', true);
$Document->setopt('title', 'Accueil');

$Document->body(array('id' => 'body'));
	$Document->open('div', array('id' => 'page'));
		$Document->open('div', array('id' => 'top'));
			$Document->add('h1', 'Mon document');
		$Document->close();
		$Document->open('div', array('id' => 'content'));
			$Document->open('p');
				$Document->text('Bienvenue sur mon site ! Explorez les outils de mon répertoire !');
			$Document->close();

			$List = new XHTMLElement('ul', array('id' => 'content-list'));
			$Items = array('C/C++', 'PHP', 'Javascript', 'XHTML', 'AJAX');
			foreach ( $Items as $Str )
				$List->appendChild(new XHTMLElement('li', $Str));
			$Document->add($List);

		$Document->close();
	$Document->close();
$Document->flush();

?>

 Conclusion

J'espère pouvoir vous aider à créer des documents XHTML et à rendre votre code PHP clair sans HTML visible !
Si vous décelez des bugs, laissez un commentaire svp, je fais une correction dès que possible !
Pour la suite j'ai pensé restreindre l'utilisation des balises et des attributs aux règles du w3c... mais ça risque de compliquer sérieusement les choses (il aurait fallu ajouter l'utilisation de die en cas de mauvaise utilisation du xhtml, d'autant plus qu'il existe plusieurs XHTML 1.0 - strict - transitional - frameset - 1.1)...

@+

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

05 août 2007 19:20:25 :
mise à jour présentation

 Sources du même auteur

Source avec Zip Source avec une capture MINI-PROCESSEUR XPROC (PIPELINE XML)
Source avec Zip CLASSE DOMDOCUMENT COMPATIBLE PHP4 ET PHP5

 Sources de la même categorie

OBTENIR LES TAUX DE CHANGE DU JOUR EN EUROS par oallais
Source avec Zip AFFICHER LES FILM EN SALLE par slhuilli
Source avec Zip Source avec une capture MINI-PROCESSEUR XPROC (PIPELINE XML) par ordiman85
Source avec Zip Source avec une capture XML MAPPING TO CLASS OBJECTS / CHARGEMENT / PARSING / MODIFI... par aKheNathOn
Source avec Zip Source avec une capture VIEWER POUR JALBUM SKIN CHAMELEON LIVRE D'OR par ym_trainz

 Sources en rapport avec celle ci

VÉRIFICATION DES URL VALIDE AVEC PHP par dilar
Source avec Zip Source avec une capture FORMULAIRE DE CHOIX MULTI-CONTACT VALIDE XHTML 1.0 TRANSITIO... par aventurier19
ARBOR.PHP : MOTEUR D'ARBORESCENCES DYNAMIQUES DE TYPE VARIÉ ... par melenn
ELIMINER LES FAUTES DE VALIDITÉ W3C COURANTES. par kylekatarnls
MASQUER VOTRE CODE AUX ROBOTS VALIDEURS W3C par kylekatarnls

Commentaires et avis

Commentaire de jean84 le 05/08/2007 20:37:12

Salut
A premiere vue, l'idee est bonne. Ton code de presentation est sympa, clair et facile a comprendre.
Le code de ta(tes) classe(s) est bien presente, propre et bien commente.
Seul regret (et pas des moindres), tu n'utilises pas DOMXML (php4) ou DOM (php5).
A ce propos, je n'ai pas vu de classes utilisant php 5. Tu utilises bel et bien les classes, mais en php 4, ce qui est plutot dommage. Si tu prends exemples sur le DOM, tu constatera que tu as une ribambelle de classes qui heritent toutes les unes des autres.

Meme si ton code ne sert qu'a creer un document, peut etre y devrait tu inclure une fonction permettant de modifier les elements ? (dans un arbre peut etre, si tu te sens apt a le faire)

En somme, il s'agit ni plus ni moins que d'un moteur de template pas banal du tout :p

Bravo pour l'initiative en tout cas et continue comme sa ;-)

++

Commentaire de coucou747 le 05/08/2007 22:38:13 administrateur CS

:) interessant, j'ai code un truc du genre, mais en beaucoup plus pousse... j'avais recode une interface a la dom la dedans, ca marchait bien, avec des choses specialises pour faire du svg, du xhtml, etc...

considerer que le header fait parti du document, c'est un poil trop pousser les choses... header ca fait parti de la requette, pas du document...

Commentaire de ordiman85 le 09/08/2007 19:49:08

Tout d'abord merci ! J'ai finalement songé à utiliser le DOM de PHP5, or mon hébergeur utilise PHP4, alors je me suis amusé à créer une classe DOM pour PHP4, avec les mêmes méthodes et les mêmes variables ! Quand j'aurai fini je la posterai, je pense que ça promet, malgré une restriction de PHP4 qui interdit d'écrire "$obj->item(0)->node" ! Mais il suffira de placer "$obj->item(0)" dans une variable pour appeler "node"...
J'espère pouvoir ainsi utiliser DOM aussi bien sur PHP5 que sur PHP4 !!

Pour ce qui est du header, c'était volontaire, c'était pour ne pas créer de conflits entre les "Content-Type", "encoding", et aussi pour placer des balises "meta" "http-equiv" qui correspondent aux headers existants. Je n'aurais pas du appeler la classe "XHTMLDocument" mais plutot "XHTML" tout court ou "XHTMLClass" enfin bon...
@+

Commentaire de coucou747 le 09/08/2007 20:32:35 administrateur CS

requette_qui_contient_du_xhtml et pas Xhtml... si t'ajoutes un systeme de cache, tu verras, ce header, c'est un peu genant de le trouver dans la classe...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

envoyer un mail avec concatenation d'un message et de l'url [ par philcode ] Bonjour,Comment ajouter au corps du message l'url qui envois la popup de mail concatenné à un petit message du type "vas voir ce site il est super: ur Personne ne trouve le PB ?????? [ par manueg ] Bonjour, mon souci est que dans IE tout est OK et dans Netscape j'ai un message d'erreur sur l'URLVoici le code :Si vous pouvez le tester chez vous et HLP javascript et PHP [ par alphacrash ] &lt;script&gt;function image() { i = document.divx.liste.selectedIndex; if (i == 0) return; url = document.divx.liste.options[i].value; document.jaque css et php [ par deer ] bonjour,mon probleme est le suivant.j'affiche une serie d'occurences (depuis une base sql) sur lequelles on peut cliquer pour telecharger un document un Form dans un Form [ par stailer ] Salut tout le monde !Donc voila mon problème :J'ai un formulaire qui contient notamment un champ et une liste déroulante.Lorsque je valide 1 de ces ch Table temporaire en mysql [ par iomega ] Bonjour à tous je voudrai savoir si mysql gère les tables temporairessi oui comment car ma requèque ci-dessou ne marche pas .merci beaucoupSELECT DCI Transmettre une variable [ par iomega ] Bonjour à tous j'ai une petite questionj'ai un document qui possède un tableau html et qui contient des titres de livre exemple:&lt;? echo $val["DocM Moteur de recherche: afficher résultats [ par djit ] Bonjour a tous,Je veux créer une base de données contenant l'équivalent d'un livre de lois et règlements. Cette base de données sera accompagnée d'un Php : Générer un document html statique ? [ par tatapol ] Salut,J'aimerai savoir si quelqu'un sait comment générer un document html via php. en fait, je voudrais créer des pages statiques... comment dire... " valeur tronquée au premier espace [ par Prosper ] Bonjour,Je butte sur un truc con depuis un bout de temps et je n'arrive pas à trouver pkoi .Voila le probleme :je dispose d'un formulaire comprenant u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales