-
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 ....
-
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);
-
mi stampa :
\"Bhjkrr\" bla bla bla, \'ciao\' doma
-
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);
-
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.
-
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)
-
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 \"?
-
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 ‘
-
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!
-
ok adesso funziona.
Grazie. :):)