Journal : Convertir é en PHP

Posté par Robert VISEUR (page perso, ) le 06 mai 2004
0
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 !

> Lire le journal (8 commentaires, moyenne: 1,9).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

Une solution

Posté par Vincent Richard (page perso, ) le 06/05/2004 à 13:58. (lien). Évalué à 6.

Un peu bourrin mais...

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

  • [^]Re: Une solution

    Posté par Vincent Richard (page perso, ) le 06/05/2004 à 14:05. (lien). Évalué à 2.

    Oups, c'est \\1 évidemment...

    • [^]Re: Une solution

      Posté par Robert VISEUR (page perso, ) le 06/05/2004 à 14:10. (lien). Évalué à 1.

      Ca m'a l'air de fonctionner. Super, merci !
      Il faudra que j'apprenne ce genre d'expression, parce que ça semble donner de très bons résultats avecdu code très compact.

Autre solution sans regexp

Posté par heltem (page perso, ) le 06/05/2004 à 15:44. (lien). É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 Robert VISEUR (page perso, ) le 06/05/2004 à 16:41. (lien). É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 Mathieu Pillard (page perso, ) le 06/05/2004 à 19:13. (lien). É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 heltem (page perso, ) le 06/05/2004 à 20:13. (lien). Évalué à 1.

      Ensuite rien n'empêche d'étoffer la table qui est un simple tableau associatif.

  • [+] [^]Re: Autre solution sans regexp

    Posté par Simon Huet () le 06/05/2004 à 19:23. (lien). É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 :)

    --
    At first they ignore you...

Revenir en haut de page