Journal Convertir é en PHP

Posté par (page perso) .
Tags : aucun
0
6
mai
2004
Quelle est la fonction PHP qui convertisse & #233; dans le bon caractère. J'ai trouvé
html_entity_decode
pour les & eacute; et cie, mais ça ne marche pas avec les & #233;.
Merci !
  • # Une solution

    Posté par (page perso) . Évalué à 6.

    Un peu bourrin mais...

    $texte = preg_replace('/&#([0-9]+);/ei', 'chr(intval(\'\\2\'))', $texte);
  • # Autre solution sans regexp

    Posté par (page perso) . Évalué à 4.

    Sans en passer par les expressions rationnelles et si tu as d'autres entités:

    http://php.net/get_html_translation_table(...)

    <?php
    $trans = get_html_translation_table(HTML_ENTITIES);
    $trans = array_flip($trans);
    $original = strtr($encoded, $trans);
    ?>
    • [^] # Re: Autre solution sans regexp

      Posté par (page perso) . Évalué à 1.

      Sinon, ce code-ci me sort un truc propre :

      function filtertext ($string)
      {
      $string2 = html_entity_decode($string);
      $string3 = preg_replace('/&#([0-9]+);/ei', 'chr(intval(\'\\1\'))', $string2);
      $trans = array("&" => "&");
      $string4 = strtr($string3, $trans);
      return $string4;
      }
    • [^] # Re: Autre solution sans regexp

      Posté par (page perso) . Évalué à 1.

      Le probleme, c'est que cette table est loin d'etre complete.
      Elle fait une centaine d'elements, alors que ya bcp plus d'entités alphabetiques, sans compter les numeriques. Donc par exemple, pour encoder de l'utf8 avec ca, tu peux te brosser.
    • [^] # Re: Autre solution sans regexp

      Posté par . Évalué à -1.

      C'est sur, c'est plus compréhensible, ça profite mieux des fonctions du language, mais y'a pas à dire, c'est moins "classe" comme code quand même :)

Suivre le flux des commentaires

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