Visualizzazione dei risultati da 1 a 3 su 3

Discussione: String to ASCII

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762

    String to ASCII

    Ciao a tutti,

    convertendo le lettere accentate a caratteri ASCII ottengo lo stesso risultato per tutte le lettere. Dove sbaglio?

    Codice PHP:
    <?php

    $o 
    = array('&egrave;','&eacute;','&ograve;','&ccedil;','&agrave;','&ugrave;','&igrave;','&pound;','&euro;');

    echo 
    "OTHERS TO ASCII
    "
    ;
    foreach(
    $o as $k) {
        echo 
    $k.' -> '.ord($k).'
    '
    ;
    }
    echo 
    "------------------
    "
    ;

    /*

       OUTPUT
       --------


    OTHERS TO ASCII
    è -> 38
    é -> 38
    ò -> 38
    ç -> 38
    à -> 38
    ù -> 38
    ì -> 38
    £ -> 38
    € -> 38

    */
    ?>

    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Risolto. Per i prossimi che incorreranno nello stesso problema, il fatto è che PHP prende come parametro d'interpretazione solo il primo carattere della stringa passata.

    In questo caso era la & di & g r a v e ; . Bisogna trasformare la stringa in entità HTML, così:

    Codice PHP:
    <?php

    foreach($o as $k) {
        echo 
    $k.' - '.ord(html_entity_decode($k)).'
    '
    ;
    }


    /*

      OUTPUT
      --------

    è - 232
    é - 233
    ò - 242
    ç - 231
    à - 224
    ù - 249
    ì - 236
    £ - 163
    € - 38  --> Stesso carattere ASCII di &
    */

    ?>

  3. #3
    Rispondo per un'altro motivo:

    Come convertire le lettere da accentate ad ascii?

    Esistono vari metodi, uno dei più frequenti (come utilizzo) è il seguente:

    http://it2.php.net/manual/en/function.str-replace.php

    str_replace('è','& grave',$testo);


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.