Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Caratteri jolly

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    43

    Caratteri jolly

    a tutti

    nel mio codice PHP leggo da un DB un campo note dove sono contenuti dei caratteri jolly (degli apostrofi in particolare).

    L'istruzione di assegnazione è la seguente:

    echo"marcatore['descrizione']=\"".$row['Info']."\";\n";

    ma mi viene restituiro che la stringa è senza terminazione.

    Può aiutarmi qualcuno a risolvere.

    Grazie

  2. #2
    Nel DB è sempre sconsigliato andare ad inserire caratteri come gli apici.
    Secondo me dovresti ovviare inserendo nei record i relativi caratteri XML-friendly.
    Un esempio: " al posto di "; ' al posto di '.

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

  3. #3

    Re: Caratteri jolly

    Originariamente inviato da maniagli
    a tutti

    nel mio codice PHP leggo da un DB un campo note dove sono contenuti dei caratteri jolly (degli apostrofi in particolare).

    L'istruzione di assegnazione è la seguente:

    echo"marcatore['descrizione']=\"".$row['Info']."\";\n";

    ma mi viene restituiro che la stringa è senza terminazione.

    Può aiutarmi qualcuno a risolvere.

    Grazie
    Gli apici non sono caratteri jolly... ci ho messo un pò a capire. Comunque basta che backslashi il backslashabile, nella fattispecie userei addslashes():

    Codice PHP:
    echo"marcatore['descrizione']=\"" addslashes($row['Info']) . "\";\n"
    Se vuoi trattare in modo speciale \n \t o altro, considera l'uso di addcslashes().

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    43
    grazie per le risposte ma non funziona lo stesso.

    Purtroppo il campo del db che sto trattando è un campo note, dove è inserito un comunicato per il DPC (Dipartimento di protezione civile).
    E non so cosa i miei colleghi andranno ad inserire nel testo.

  5. #5
    E non so cosa i miei colleghi andranno ad inserire nel testo.
    Proprio per questo motivo devi fare una funzione che filtri a dovere ogni stringa.
    Te ne passo una preconfezionata, che ho fatto io tempo fa.

    Codice PHP:
    function filter_texts_to_xml($str){
         
    $str trim($str);
        
    $str stripslashes($str);
        
    $caratteri get_html_translation_table(HTML_ENTITIESENT_QUOTES);
        
    $str strtr($str$caratteri);    
        
    $str mysql_real_escape_string($str);
        
        return 
    $str;

    Con questa funzione non hai problemi né di apici vari né di caratteri che vengono visualizzati male per differente codifica html/db.

    Dai anche un'occhiata alla Guida alla Sicurezza in PHP per cercare di capire quali possano essere i problemi principali nel non filtrare le variabili che passi nei tuoi script PHP.

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

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    43
    Grazie, così funziona perfettamente.

    Un'altra piccola cosa, l'apostrofo viene sostituito però da un quadratino.
    Non so se questo dipenda dal Font che uso.

    Grazie ancora per l'aiuto.

  7. #7
    Apri il sorgente della pagina.
    Al posto dell'apostrofo dovresti avere questa sequenza di caratteri: &#39;.
    Se così è, prova a vedere se hai il seguente meta-tag nella HEAD delle tue pagine.

    codice:
      <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    43
    grazie mille per l'aiuto, così ho risolto.

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.