2012-10-30 20 views
10

Vorrei rimuovere tutte le barre posteriori dalle stringhe sul mio sito. Non desidero usare strip_slashes(), perché voglio continuare con le barre.Come sostituire "" usando str_replace() in PHP?

Questo è il codice che sto cercando:

echo str_replace("\", "", "it\'s Tuesday!"); 

voglio trovare il backslash in una determinata stringa e rimuoverlo. Ma questo codice non funziona correttamente.

Errore:

syntax error, unexpected T_CONSTANT_ENCAPSED_STRING 

Che cosa potrei fare male?

risposta

19

Il backslash in realtà sta sfuggendo alla citazione di chiusura nella stringa.

Prova echo str_replace("\\","","it\'s Tuesday!");

+2

battermi ad esso :) Un link utile per spiegare che cosa è fuga - http://php.net/manual/en/regexp.reference.escape.php – Ren

+0

ha funzionato! Quindi, ho dovuto sfuggire al personaggio di fuga? – user1759682

+0

questi è un problema quando si prova "FBU4061 \ 0258" tra virgolette –

6

Non certo perché si sta utilizzando str_replace per rimuovere \ uso

echo stripslashes("it\'s Tuesday!"); 

Ma se è solo un esempio, allora

echo str_replace("\\","","it\'s Tuesday!"); 

prega di notare che stripslashes rimuovere solo backslash non avanti

echo stripslashes("it\'s \\ \\ // Tuesday!"); 

uscite

it's // Tuesday! 
+1

Non hai letto l'intera domanda? – user1759682

+0

'Voglio trovare la barra rovesciata in qualsiasi stringa specificata e rimuoverla. Non è quello che vuoi ottenere – Baba

+2

' Non desidero usare strip_slashes(), perché voglio mantenere le barre. ' – Ren

1

Dalla documentazione stripslashes():

Returns a string with backslashes stripped off. (\' becomes ' and so on.) Double backslashes (\\) are made into a single backslash (\).

Quindi non si deve preoccupare della FWD. barre.

5

cercare di ottenere il risultato:

$str = "it\'s Tuesday!"; 

$remove_slash = stripslashes($str); 

print_r($remove_slash); 

in uscita: è Martedì!

0

Con:

echo str_replace("\'", "'", "it\'s Tuesday!"); 
// It's Tuesday! 
Problemi correlati