Convertir chaine en code type o ou #x6A;

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par milkiway, 17 Novembre 2010.

  1. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Bonjour,

    Je cherche, en PHP, le moyen de convertir une chaine de caractères en "caractère numériques hex" ou en "caractère numériques décimaux".
    Exemple de convertisseur : http://hapax.qc.ca/conversion.fr.html
    Ainsi, "Bonjour" devient Bonjour ou Bonjour

    Après des recherches, je ne trouve rien qui aille dans ce sens. Connaissez vous un moyen d'y arriver ?

    Je ne souhaite convertir et afficher comme ceci qu'une phrase dans mon code, est-ce que ça risque de poser problème au niveau de l'affichage ?
    Pour être sur d'être clair, je veux que le code source affiche Bonjour et que le navigateur affiche Bonjour, le tout dans une page codée en UTF-8

    Help really appreciated.

    Merci
     
  2. forummp3
    forummp3 WRInaute passionné
    Inscrit:
    8 Février 2004
    Messages:
    1 519
    J'aime reçus:
    0
    he ben tu prend la table ascii et tu fait la liste des str_replace a faire, ou bien sinon, tu utilise htmlentities qui t'encode seulement ce qui est utilise d'encoder.

    Pourquoi ne veut tu pas encoder avec htmlentities ?
     
  3. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
  4. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Merci.
    ord() semblait me convenir mais pour tout un paragraphe il me renvoie juste "60".
    htmlentities ça ne converti pas les lettres non ?

    Effectivement il va falloir passer par des str_replace. C'est fou qu'il n'y ait pas de fonction toute prete pour ça non ?

    Le truc, c'est que je veux l'inverse d'htmlentities : je veux garder < et > intacts mais convertir les lettres et chiffres !
     
  5. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 809
    J'aime reçus:
    242
    L'inverse de htmlentities() c'est html_entity_decode()
    Code:
    <?php 
    $content = '&#66;&#111;&#110;&#106;&#111;&#117;&#114; ou &#x42;&#x6F;&#x6E;&#x6A;&#x6F;&#x75;&#x72;';
    echo html_entity_decode($content);
    ?>
    
    Affiche:
     
  6. forummp3
    forummp3 WRInaute passionné
    Inscrit:
    8 Février 2004
    Messages:
    1 519
    J'aime reçus:
    0
    he ben, tu fait d'abord htmlentities, et ensuite htmlspecialchars_decode pour juste remettre bien les caracteres speciaux html et non les lettres.
     
  7. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    ord marche pour une lettre. Il faut donc faire une boucle pour toutes les lettres.
     
  8. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Ecoutez je dois être totalement stupide car htmlentities ne me converti que les caractères spéciaux et en entité HTML (exemple € en &euro;).
    En fait je cherche l'exact inverse de html_entity_decode(), enfin je pense.
    Comment as tu obtenu ton &#66;&#111;&#110;&#106;&#111;&#117;&#114; Spout ?
     
  9. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 809
    J'aime reçus:
    242
    Je l'ai copié/collé de ton premier post.
     
  10. forummp3
    forummp3 WRInaute passionné
    Inscrit:
    8 Février 2004
    Messages:
    1 519
    J'aime reçus:
    0
    ben c'est normal, les lettres normales n'ont pas besoin d'etre encodé, c'est la base du code ascii, donc aucun probleme de compatibilité avec les differents charsets.

    Peut tu au moins nous expliquer le but final de cette manoeuvre? car là on voit pas l'interet pour tu te prend la tete?
     
  11. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 809
    J'aime reçus:
    242
    Code:
    <?php 
    $string = 'Bonjour';
    function ascii_encode($string)  {
        for ($i=0; $i < strlen($string); $i++)  {
            $encoded .= '&#'.ord(substr($string,$i)).';';   
        }
        return $encoded;
    }
    echo ascii_encode($string);
    ?>
    
    Affiche:
    Source: http://www.php.net/manual/fr/function.ord.php#24475
     
  12. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Merci, je sais parfaitement qu'il n'est pas NECESSAIRE de le faire.
    Je veux juste le faire.

    Spout, merci je teste ça ;)
     
  13. forummp3
    forummp3 WRInaute passionné
    Inscrit:
    8 Février 2004
    Messages:
    1 519
    J'aime reçus:
    0
    juste par curiosité, c'est pour quoi faire ce systeme ? tu veux crypter du texte a des newbies ?
     
Chargement...
Similar Threads - Convertir chaine code Forum Date
convertir chaine en date Développement d'un site Web ou d'une appli mobile 16 Avril 2014
Astuce RewriteMap : convertir un .dbm.pag en txt ? Débuter en référencement 8 Juillet 2019
Lien rompu pour convertir un profil en page Facebook ? Facebook 28 Décembre 2015
[Aide] convertir balise <iframe> en <object> Développement d'un site Web ou d'une appli mobile 10 Septembre 2015
Convertir ses pages web en pdf pour traduction ou correction Développement d'un site Web ou d'une appli mobile 12 Juillet 2015
HTML5 convertir page web ISO en UTF-8 Développement d'un site Web ou d'une appli mobile 25 Juillet 2013
img src=blob: comment convertir en fichier? Développement d'un site Web ou d'une appli mobile 26 Juin 2013
convertir date décimal Développement d'un site Web ou d'une appli mobile 18 Mai 2013
Convertir input checkbox Développement d'un site Web ou d'une appli mobile 27 Avril 2013
Convertir texte pour URL en PHP [Résolu] Développement d'un site Web ou d'une appli mobile 8 Mai 2012
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice