Visualizzazione risultati 1 fino 10 di 10

Discussione: eliminare virgolette

  1. #1
    Guest

    Lightbulb eliminare virgolette

    ho gia protao a cercare nel forum ma non mi funzionano

    Codice PHP:
    $plot_1 = ' "Bhjkrr" bla bla bla, 'ciao' doma ';
    $plot_2 = str_replace('"', "\"",$plot_1);
    $plot = str_replace(''', "\'",$plot_2);
    mi da errore nella riga 1
    Parse error: syntax error, unexpected T_STRING in ....

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Hai commesso degli errori.

    Codice PHP:
    $plot = ' "Bhjkrr" bla bla bla, \'ciao\' doma ';//gli apici, in questo caso,
    // determinano la stringa quindi al suo interno devi fare l'escape

    // ci sono funzioni apposite che permettono di aggiungere gli escape all'interno
    // di una stringa: addslashes ( o mysql_real_escape_string per mysql )
    $plot = addslashes($plot);

  3. #3
    Guest

    Predefinito

    mi stampa :
    \"Bhjkrr\" bla bla bla, \'ciao\' doma

  4. #4
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Scusami, ho sbagliato:
    Codice PHP:
    $plot_2 = str_replace('"', "\"",$plot_1);
    $plot = str_replace(''', "\'",$plot_2);
    Vedendo queste 2 righe, ho pensato che tu volessi aggiungere gli escape.

    Per rimuoverli:
    Codice PHP:
    $plot = ' "Bhjkrr" bla bla bla, \'ciao\' doma ';
    $plot = str_replace(array('"', '\''), '', $plot);

  5. #5
    Guest

    Predefinito

    Scusami ho sbagliato a scrivere il titolo.
    quello che voglio e quello di mantenere il testo con tutte le virgolette.
    ad esempio
    Codice PHP:
    <?php
    $plot
    = "L'obiettivo fu raggiunto durante la missione Apollo 11 quando, il 20 luglio 1969, gli astronauti Neil Armstrong e Buzz Aldrin sbarcarono sulla Luna, mentre Michael Collins rimase in orbita lunare. Apollo 11 fu seguita da ulteriori sei missioni, l'ultima nel dicembre 1972, che portarono un totale di dodici uomini a camminare sul nostro "satellite naturale".";
    ?>
    e mi stampi il testo senza variazioni, ma senza che io vada a modificare manualmente il testo, ma sia uno script a farlo.

  6. #6
    Guest

    Predefinito

    Di quale virgolette parli? di quelle che racchiudono satellite naturale? se tu fai un $_POST (o GET) e quel testo contiene apici rimarranno, se invece lo scrivi a mano (cosa che non fai da quel che vedo scritto) metti \" al posto di " (sempre se l' apice iniziale che racchiude il contenuto della variabile sia quello)

  7. #7
    Guest

    Predefinito

    si parlo proprio di quelle, io copio e incollo il testo manualmente, non uso $get o $post, ma il testo e molto lungo, quindi non c'è un modo per qui " venga sostituito con \"?

  8. #8
    Guest

    Predefinito

    Potresti farlo con str_replace, ma comunque se il testo lo scrivi manualmente viene individuato come errore di stringa con gli apici che vanno in conflitto, se per esempio usi spesso " potresti fare:

    Codice PHP:
    $var = 'L' obiettivo fu raggiunto durante la missione Apollo 11 quando, il 20 luglio 1969, gli astronauti Neil Armstrong e Buzz Aldrin sbarcarono sulla Luna, mentre Michael Collins rimase in orbita lunare. Apollo 11 fu seguita da ulteriori sei missioni, l'ultima nel dicembre 1972, che portarono un totale di dodici uomini a camminare sul nostro "satellite naturale".';
    Però ovviamente così l' apice dopo L va in conflitto con la prima (come vedi dai colori considera $var solo "L", quindi dovresti sostituire l' apice dopo L con &lsquo;

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Se devi incollare (e usare) del testo lungo nel sorgente, conviene utilizzare l'heredoc.

    una cosa del genere:

    Codice PHP:
    $stringa = <<<EOD
    Qui il testo
    Qui il testo
    Qui il testo
    Qui il testo
    EOD;
    Ciao!
    Ultima modifica di alemoppo : 13-05-2011 alle ore 21.49.56

  10. #10
    Guest

    Predefinito

    ok adesso funziona.
    Grazie. :):)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •