IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[DOM] Classe DOMDocument personnalisée


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 41
    Points : 19
    Points
    19
    Par défaut [DOM] Classe DOMDocument personnalisée
    Bonjour,

    J'ai un peu personnalisé la classe DOM pour lui attribuer des valeurs par défaut et me faciliter ainsi un petit peu la vie. Mais j'ai un problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    class xml extends DOMDocument {
     
    	public function __construct($encoding, $template) {
    		parent::__construct('1.0', $encoding);
    		$pi = parent::createProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="'.$template.'"');
    		parent::appendChild($pi);
    	}
     
    	public function createElement($name, $content) {
    		if (empty($content)) {
    			return parent::createElement($name);
    		}
    		else {
    			return parent::createElement($name, utf8_encode($content));
    		}
    	}
    }
    ?>
    Lorsque que je l'utilise comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?php
    function error_handler($level, $message) {
    	switch ($level) {
    		case E_USER_ERROR:
    			$xml = new xml('UTF-8', DIR_TPL.'error.xsl');
    			$document = $xml->createElement('document');
    			$xml->appendChild($document);
    			$title_website = $xml->createElement('title_website', utf8_encode($GLOBALS['title']));
    			$document->appendChild($title_website);
    			$error = $xml->createElement('error', utf8_encode($message));
    			$document->appendChild($error);
    			echo $xml->saveXML();
    			break;
    	}
    }
    ?>
    Il m'affiche le titre du site avec des caractères spéciaux tandis que le message d'erreur normalement.

    Je comprends rien :s
    Et ça se produit exactement de la même façon mais inversement si je retire utf8_encode(): le titre s'affiche normalement et le message d'erreur avec des caractères spéciaux.

    Merci de votre aide.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 41
    Points : 19
    Points
    19
    Par défaut
    Merci c'est réglé, j'ai enlevé la fonction utf8_encode() et j'ai encodé tous mes fichiers en UTF-8. Bizard...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] Comment ça "Class DomDocument not found" ? (PHP5)
    Par Nullos Oracle dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 13/07/2007, 18h11
  2. [DOM XML] Utilisation de la classe DOMDocument
    Par lemok dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 15/05/2007, 11h23
  3. [DOM] Installer la class DOMDOCUMENT avec php4.3.10
    Par tomchaz dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 22/06/2006, 11h35
  4. [DOM] Où trouver la classe DomDocument ?
    Par naima2005 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/05/2006, 19h33
  5. [DOM] méthode DOMDocument->load() échoue
    Par shingara dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 28/11/2005, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo