Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    problema con htmlentities

    ciao,

    echo htmlentities($testo);

    in $testo ci sono dei caratteri che pur visualizzandoli correttamente, non vengo validati dal w3c.
    allora ho usato, qui sintetizzato, questo sistema:

    Codice PHP:
    $caratteri = array(chr(149),...);
    $cambio = array(chr(42),...);

    $testo str_replace$caratteri$cambio$testo);
    echo 
    htmlentities($testo); 
    funziona, mi converte tutti i caratteri ms word in caratteri iso-8859-1 validi.
    tutti tranne uno: &_#156; (senza underscore)

    il problema è che funzionerebbe ( cioè me lo valida) se non utilizzo la funzione htmlentities(), ma ovviamente mi serve.
    Da qui la domanda:
    è possibile dire alla funzione htmlentities() di non tener conto del carattere &_#156; ???
    è un bel problema :master:
    eventualmente le alternative sono ben accette.
    Grazie!

  2. #2

  3. #3
    Quel carattere non c'e' nella lista di htmlentities ...

    Prova a vedere... (leggi l'html)
    codice:
    $trans = get_html_translation_table(HTML_ENTITIES);
    echo "<pre> prova carattere œ œ œ";
    print_r($trans);
    Puoi anche provare con strtr:
    codice:
    $trans = get_html_translation_table(HTML_ENTITIES);
    $str = "Tua stringa con œ e &_#156; "; // senza _
    echo $encoded = strtr($str, $trans);
    Lo puoi cambiare con str_replace.



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    si lo so che non c'è
    ma quando lo inserisco nell'array di str_replace e poi uso htmlentities(), mi restituisce a video il codice &_#156; e non il carattere.
    intendevo, se c'è un modo di by-passarlo in htmlentities().
    non so se mi sono spiegato

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 © 2025 vBulletin Solutions, Inc. All rights reserved.