Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    119

    Sostituire caratteri speciali con &...;

    Ciao! Tramite una form ogni utente può inserire un testo. Vorrei però che prima di inserire questa stringa nel database alcuni caratteri (tipo à, è, é, ì, ò, ù, ", ', <, >, etc) vengano sostituiti nella forma &...; (es. & --> & amp.

    Ho provato con la funzione php " str_replace ", ma non fa esattamente quello che voglio!

    Codice PHP:

    $occorrenze 
    = array("à""è""ì""ò""ù""\"""'""&""<"">");

    $sostituti  = array("&aacute;""&eacute;""&iacute;""&oacute;""&uacute;""&quot;""&prime;""&amp;""&lt;""&gt;");

    $descrizione str_replace($occorrenze$sostituti$descrizione); 
    Con questo codice la parola l'altro viene visualizzata come l& prime;altro e ciò non va bene

    Come posso fare?

    Grazie sin da ora..

  2. #2
    Utente di HTML.it L'avatar di Tux7000
    Registrato dal
    Feb 2008
    residenza
    Milano
    Messaggi
    620
    Ciao, guarda qui:
    http://us2.php.net/manual/en/function.htmlentities.php

    dovrebbe fare al caso tuo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    119
    Sostituendo tutto il codice riportato sopra con questa riga:

    Codice PHP:
    htmlentities($descrizioneENT_QUOTES); 
    La query sql non da più errore (prima lo dava se inserivo il carattere ' ).

    Il problema adesso è un altro.. quando sulla textarea un utente preme il tasto ENTER e quindi va a capo, vorrei andasse a capo anche nella visualizzazione del testo inserito.. come si fa? con un strl_replace? il tasto enter è visto come /n? Help

  4. #4
    Utente di HTML.it L'avatar di Tux7000
    Registrato dal
    Feb 2008
    residenza
    Milano
    Messaggi
    620
    Codice PHP:
    $messaggio strip_tags($_POST["messaggio"]);
    $messaggio htmlentities($messaggioENT_QUOTES'UTF-8');
    $messaggio nl2br($messaggio); 
    nl2br trasforma in automatico i newline in

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    119
    trovato..

    Codice PHP:
    <? echo nl2br($annuncio["descrizione"]);?>
    Grazie mille!!

  6. #6
    Utente di HTML.it L'avatar di Tux7000
    Registrato dal
    Feb 2008
    residenza
    Milano
    Messaggi
    620
    Prego!

  7. #7
    Ti consiglio invece di crearti una funzione personalizzata che utilizzi le seguenti funzioni PHP:
    get_html_translation_table() e strtr().
    Se guardi negli esempi che ti ho fornito, trovi moltissimo codice che fa al caso tuo, e facendo una funzione hai anche un entità che puoi riutilizzare tutte le volte che preferisci!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.