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

    htmlentities($_POST[page],ENT_QUOTES,"ISO8859-15");

    $page=htmlentities($_POST[page],ENT_QUOTES,"ISO8859-15");

    faccio questo ma mi da un problema...
    ovvero questo carattere:
    " --> ’ lo traduce cosi " --> ’
    praticamente sembrerebbe che prima passi con ’ e successivamente faccia:
    & --> & e ottenere in fondo quindi questo:
    ’

    sembrerebbe un errore della funzione...ma naturalmente sbaglio io qualcosa..grazie ciao

  2. #2
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    Non ho capito che carattere sostituisce.

    E' una freccia a destra?
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  3. #3
    si è difficile da capire, no è una virgoletta particolare, diversa da quella normale.
    Se sta virgoletta è nella variabile la sostituisce con il guazzabuglio: &aAAAmmmpppp;#8217;
    sarebbe amp(solo che cosi non si vede)

  4. #4

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Perché dovrebbe essere un errore?
    Che problema ti dà?

  6. #6
    Originariamente inviato da luca200
    Perché dovrebbe essere un errore?
    Che problema ti dà?
    Praticamente vedo una cosa cosi -->> &[ ]#8217; a video, invece del carattere normale -->> "

    ([ ] non esiste)

  7. #7
    trovata per caso incollo qui la soluzione:
    Concludo con un problema a mio avviso abbastanza fastidioso. E' quello che si verifica quando un utente fa il copia/incolla da documenti Word e simili nella maschera del form. Capita a volte di vedere nella pagina Web dei codici di caratteri tipo: ‘ ’  ecc. Si tratta dei codici estesi di metacaratteri html, nascosti nel copia/incolla e che diventano visibili una volta inviati alla nostra pagina Web. Infatti la codifica dei metacaratteri in Html prevede la seguente forma &#[codice esteso];. Se copiamo un carattere simbolico come questo "" in un form e lo filtriamo con la funzione Htmlspecialchar() o HtmlEntities(), può succedere di vedere comparire  nella nostra pagina Web se si usa MSIE 5.5, se invece usiamo Netscape Composer 4.76, non succede e compare un "Y".

    Per risolvere questo problema possiamo controllare, attraverso una espressione regolare per esempio, se la variabile $messaggio contiene codifiche di caratteri estesi e in caso positivo togliere la codifica "amp" all'ampersand in questo modo:

    if (ereg("&#[0-9]{4,5};",$messaggio)) { $messaggio = str_replace("&#","&#",$messaggio); }

    Si tratta di una soluzione molto pedestre. Una soluzione più elegante e impegnativa potrebbe consistere in una tabella di conversione a cui far corrispondere ad ogni codifica numerica, la corrispondente codifica estesa del metacarattere HTML: Utilizziamo quindi la tabella in un array associativo attraverso la funzione PHP srttr() in questo modo:

    if (ereg("&#[0-9]{4,5};",$messaggio))
    { $tabella_di_conversione=array


    (
    "‘" => "‘",
    "’" => "’",
    "“" => "“",
    "”" => "”",
    . . . . .
    );
    fonte:

    http://www.pierobosio.info/informati...i_dai_form.php

  8. #8
    Probabilmente te la cavi così:

    codice:
    $page = str_replace('&', '&', htmlentities($_POST[page],ENT_QUOTES,"ISO8859-15"));
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

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.