Journal XML et php

Posté par  (site web personnel) .
Étiquettes : aucune
0
3
déc.
2003
Salut cher journal,
Voila je voudrais pouvoir transformer un texte sous la forme:
test
ceci esten bleu

En:
test
ceci est en bleu

Et pendant que j'y suis aussi pouvoir transformer ça en pdf(bon la je rêve)

Je crois qu'il faut que j'utilise xml mais si quelqu'un pouvait me dire comment.
Et si c'est possible en php.
Merci petit journal
  • # Re: XML et php

    Posté par  . Évalué à 1.

    Juste l'espace en plus ou bien y'a des balises qui ont sauté ?
    • [^] # Re: XML et php

      Posté par  (site web personnel) . Évalué à 1.

      les balises ont sautées
      j'avais pas pensé a ca
    • [^] # Re: XML et php

      Posté par  (site web personnel) . Évalué à 2.

      < title name="test">test.< /title>
      ceci est < bleu >en bleu< /bleu>

      En:
      < a id='test' class='titre'>test.< /a>
      ceci est < bleu >en bleu< /bleu>
      • [^] # Re: XML et php

        Posté par  . Évalué à 1.

        cherche du coté des transformations xsl.
        Attention, ton fichier doit être en "vrai" XML. (balises toutes fermées et qui ne se chevauchent pas...)
        • [^] # Re: XML et php

          Posté par  (site web personnel) . Évalué à 1.

          XSL est trop compliqué/étendu à mon gout.
          Mais on peut appliquer une feuille de style a un fichier xml non?
          Ou avec un script php transformer les balises.
      • [^] # Re: XML et php

        Posté par  . Évalué à 2.

        Pour la transformation, le plus efficace en terme de rapidité, est l'application d'une expression régulière, mais elle doit être écrite avec beaucoup de soin.

        La bonne solution est d'utiliser le parser XML et de faire une transformation XSLT, mais si ton document en entrée n'est pas STRICTEMENT valide d'un point de vue XML, tout ce que tu auras en sortie, c'est une erreur.

        Cela implique également que le support de la transformation XSLT est inclu dans ton PHP.

        Concernant le PDF, il y a plusieurs solutions, il existe une librairie non libre qu'il est possible d'utiliser lors de la compilation de PHP, on a alors accès à un certain nombre de fonctions qui permettent de générer un fichier PDF.

        Sinon il existe des solutions plus légères, des classes PHP à charger qui sont aussi capable de sortir du PDF. Ceci à l'avantage de fonctionner chez un hébergeur qui n'aurait pas compilé le support PDF.

        Tu trouveras toutes les informations détaillées dans les exemples de la documentation en ligne sur www.php.net
  • # Re: XML et php

    Posté par  (site web personnel) . Évalué à 1.

    Je crois que vu les réponses que vous me donnez ce qu'il me faut c'est un parseur XML qui lit
    et j'écris moi-même le pdf(avec fpdf) et le html.
    Ce qui est pleinement faisable, dès que j'aurais trauver le parseur qui me convient
    • [^] # Re: XML et php

      Posté par  . Évalué à 1.

      Voilà un exemple dont tu peut t'inspirer (c'est pas forcément propre) ... Cela utilise le parser XML de PHP (parser SAX).

      Tu peut trouver de la doc PHP (manuel en français annoté) à http://dev.nexen.net(...) (en particulier le 7.110, Analyseur Syntaxique XML).


      <?php

      function start_element ($parser, $name, $attribs) // Pour une balise ouvrante
      {
      if ($name == "ENTETE") // Nom de la balise a tester, en majuscule
      {
      // Tu fait ton traitement
      // $attribs est un tableau avec les attributs de la balise
      }
      }


      function end_element ($parser, $name) // Pour une balise fermante
      {
      if ($name == "ENTETE")
      {
      // Tu fait le traitement nécessaire
      }

      }

      // On se cree un parser utilisant les fonctions ci-dessus
      $parser = xml_parser_create();

      xml_set_element_handler ($parser, start_element, end_element);


      $fileName = // tu récupère le nom du fichier à parser

      $file = file ($fileName); // Tu le charge (dans un tableau avec 1 case = 1 ligne du fichier il me semble)

      while (list ($key, $val) = each ($file)) // Pour chaque élément du tableau
      {
      $newVal = trim ($val);
      $prochain = next ($file);

      if ($prochain == false)
      {
      $error =xml_parse ($parser, $newVal, true); // On est à la dernière ligne, on fait le dernier parsing avant de sortir
      }
      else
      {
      $prochain = prev($file);
      $error =xml_parse ($parser, $newVal, false); // On parse la ligne courante
      }
      }

      xml_parser_free($parser); // Libération de la mémoire
      ?>

      voilà, bonne chance !
  • # Re: XML et php

    Posté par  . Évalué à 1.

    Pour ce qui est du PDF, tu as l'excellente librairie FPDF, freeware:
    http://www.fpdf.org(...)
    • [^] # Re: XML et php

      Posté par  (site web personnel) . Évalué à 0.

      c'est ce que j'ai écris dans mon commentaire juste au dessus.
      Mais c'est bien de préciser pour ceux qui sont aveugles
  • # Re: XML et php

    Posté par  (site web personnel) . Évalué à 1.

    Bon, je suis pas certain que ça soit tout a fait ce que tu cherche, mais il existe un outil intéressant pour faire des choses avec xml en java : le compilateur TOM
    http://tom.loria.fr(...)

    C'est un compilateur de filtrage pour java (ou C), qui fournit de bonnes choses pour travailler avec xml (en tout cas avec java)

    par exemple, ce que tu veux faire s'écrirait simplement
    %match(TNode t) {
    xml( < title name="test">x< /title>) ->
    return `xml(< a id='test' class='titre'>x< /a>);
    }

    c'est pas forcément facile a prendre en main, mais très puissant, et il y a pas mal d'exemples dans la distribution

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.