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 :

[SimpleXML] PHP & Simple XML


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut [SimpleXML] PHP & Simple XML
    Bonjour,

    dans le cadre de la creation d'un site multilingue, j'ai opté pour des fihciers xml pour les textes de traduction mais je suis confronté a un petit probleme, et qui ne l'ai peut etre pas pour vous
    certain de mes textes contiennent des balises html (<p>, <a href="..." ...>, ...)
    je compte creer une interface pour traduire les textes, mais comment gerer ces balises??
    1- afficher les textes dans des <textarea>, toutes les balises seront visibles et il faut manier un peu le code pour traduire?

    2- afficher les textes dans des <div> qui prendront en compte les balises, et dans ce cas, on ne touche pas du tout au code ?? si c'est la solution recommandée, comment y proceder??

    Merci beaucoup de votre aide

  2. #2
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Par défaut
    Salut,

    Regardes peut être ceci peut t'aider :

    http://php.net/manual/fr/function.strip-tags.php

    Cordialement,

    Mathieu

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut
    Bonjour et merci pour ta reponse.

    au fait je ne cherche pas a supprimer les balises, je dois bien au contraire les garder

  4. #4
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Par défaut
    Dans ce cas la, pourquoi ne pas utiliser "tinymce" ou "ckeditor" ?

    Cordialement,

    Mathieu

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut
    j'y avais pensé mais j'ai decliné cette option car je n'ai pas besoin d'un editeur de texte avancé!
    les 3 SEULS balises que j'aurais sont:
    <b>, <a>, <p> et peut etre <i> !

  6. #6
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    certain de mes textes contiennent des balises html
    Normalement, il ne faut pas mettre de HTML dans des contenus linguistiques.
    Le HTML c'est déjà l'interface, ça peut être un énorme problème de conception pour un usage futur.

    Imagine un instant que cette donnée doit être exploitée dans une interface différente, comme un document PDF, Excel, etc ... le HTML va causer problème.
    Aussi, aujourd'hui une interface même HTML est prévue pour un écran d'une certaine résolution, mais si demain on prévoit de la rendre sur un smartphone, ce contenu même HTML peu poser problème.

    Bon, c'est juste une remarque, mais il faut vraiment éviter de rendre trop spécifique des traductions, on perd en souplesse, surtout en automatisme.
    La logique veut que ce soit la partie interface qui met en forme une donnée, linguistique ou autre d'ailleurs.


    Mise à part ça, de mon coté j'utilise XMLWriter (fait parti de Php) pour créer des document XML.
    Cette classe facilite vraiment leur création tant son usage est simple, de plus prévoit tout ce qu'il faut comme mettre du contenu HTML.

    Ensuite, j'utilise de temps à autre SimpleXML ou DomDocument/DomXPath pour récupérer le données XML.

    Si c'est la création qui cause problème, avec XMLWriter ça donne par exemple :
    (pour la création d'un XML pour un flux RSS)
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    $doc = new XMLWriter();
    $doc->openUri('un/chemin/vers/ou/creer/le/fichier.xml');
    $doc->setIndent(TRUE);
    $doc->startDocument('1.0', 'UTF-8');
    $doc->startElement ('rss');
    $doc->writeAttribute('version', '2.0'); // RSS
    $doc->startElement ('channel'); // CHANNEL
    $doc->writeElement('title', 'UN TITRE');
     
    ... etc ...
     
    while ($articles = $sStmt->fetch()) {
        $doc->startElement('item'); // ITEM
     
        // Section CDATA
        $doc->startElement('description');
        $desc = '<p>Un paragraphe</p>
    <a href="http://wwwdomaine.com">Un lien</a>
    <i>italic</i>';
        $doc->writeCdata($desc);
        $doc->endElement();
        // FIN Section CDATA
     
        $doc->endElement(); // Fin élément ITEM
    }
    ... etc ...
    $doc->endElement(); // Fin élément CHANNEL
    $doc->endElement(); // Fin élément RSS
    $doc->flush();
    Chaque élément qui contient du contenu genre HTML est créé dans une section CDATA.
    Au final, cette partie génèrera ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <description><![CDATA[<p>Un paragraphe</p>
    <a href="http://wwwdomaine.com">Un lien</a>
    <i>italic</i>]]></description>
    On peu donc faire la même chose "à le mano" au lieu d'utiliser XMLWriter.

    Le document étant conforme, la récupération des données peu ce faire avec SimpleXML, ou autre.
    Théoriquement il ne devrait pas avoir de problème.

Discussions similaires

  1. [SimpleXML] Comment traiter correctement simple XML avec du PHP ?
    Par Alexandrebox dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 14/12/2009, 14h30
  2. [SimpleXML] erreur avec simple XML sur le constructeur
    Par zulot dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 20/04/2007, 16h06
  3. [SimpleXML] PHP XML et accès aux variables
    Par vanilla dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 21/04/2006, 17h58
  4. [SimpleXML] Comment passer de XML à MySQL et vice-versa avec PHP ?
    Par Ben42 dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 05/12/2005, 21h42

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