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

    problema htmlspecialchars

    ragazzi ho un problemin o con questa funzione, lei va che è uno spettacolo però mi sorge un problemino.
    Se io inserisco del testo con caratteri speciali tipo ' ? [] ecc lui me li converte in modo che php possa funzionare...
    Il problema è che se volessi inserire un a capo sul testo

    lui me lo converte in <br> e quindi lo spedisce come testo e non come tag.

    C'è una soluzione che voi sappiate?

  2. #2
    Codice PHP:
    $string str_replace('<br>''
    '
    $string); 
    non è molto elegante, ma dovrebbe funzionare. sicuramente ci sono soluzioni migliori dipendenti dal contesto

  3. #3
    mmmm... c'è un pannello di controllo dove vengono inseriti i testi in batabase poi il tutto viene ripreso in una pagina php dove tutte le righe diventano variabili e vengono passate con htmlspecialchars appunto per evitare che ci siano caratteri non compatibili con php.Il tutto poi viene rimandato su db per essere spedito. Il punto è che alcuni di questi caratteri tipo il
    o <a href="" </a> ecc devono restare tali, non c'è un simbolo per dire ad htmlspecialchars di saltare alcuni caratterri? Chiedo perchè nella funzione in php.net non c'è scritto e volevo sapere se c'erano altri modi.

    La stringa che hai scritto però non l'ho capita tanto... cosa farebbe e dove la metteresti.

  4. #4

  5. #5
    ok allora provo a chiedervi una possibile soluzione.
    Alla fine di tutto il testo è possibile mettere un comando che trasformi tutti i caratteri che io definisco in altri caratteri che io definisco.

    $string = str_replace('&lt;br&gt;', '
    ', $string);

    questa stringa che mi è stata suggerita come funzia che non l'ho capita? prende tutte le variabili string e le trasforma praticfamente &lt;br&gt in
    ? e perchè alla fine c'è di nuovo $string??? grazie

  6. #6

  7. #7
    codice:
    $string = str_replace('&lt;br&gt;', '
    ', $string);
    è l'amica funzione str_replace() che funziona così

    prende prima quanto vuoi trovare nella stringa es. '&lt;br&gt;' poi cosa vuoi che vi sia sostituito es. '
    ', ed infine in quale stringa devi fare tutto ciò es. $string.
    Ti restituisce una nuova stringa con le sostituzioni effettuate.
    Codice PHP:
    <?

    $string
    ="&lt;br&gt; Ciao !"
    $nuova_stringa=str_replace('&lt;br&gt;''
    '
    $string); 
    echo 
    $nuova_stringa;
    // Da in output "
     
    Ciao !"

    ?>
    evitando di utilizzare un'altra variabile
    codice:
     $string = str_replace('&lt;br&gt;', '
    ', $string);
    sovrascrive direttamente $string.


  8. #8
    ma grazieeeeeee
    ok proprio quello che mi serviva....ma se i simboli da sostituire sono più di uno devo fare un stringa nuova per ogni simbolo che devo sostituire?

  9. #9

    Direbbe Mario ma cosa vuoi solurre?

    A parte il titolo insensato che solo estimatori del genere possono capire per il resto
    Codice PHP:
    // La stringa iniziale 
    $string ="Sono un bravo programmatore" 

    $string str_replace('Sono''Sarò'$string); 

    echo 
    $string."\n";
    // Output --> " Sarò un bravo programmatore "

    $string str_replace('bravo'''$string); 

    echo 
    $string."\n";
    // Output --> " Sarò un programmatore "

    $string str_replace('un programmatore''?'$string); 

    echo 
    $string."\n";
    //La stringa finale
    // Output --> " Sarò ?" 

  10. #10
    ok sei stato chiarissimo.....si per il titolo forse hai ragione :-)
    ciao e grazie

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.