2012-10-30 16 views
10

Chciałbym usunąć wszystkie tylne ukośniki z ciągów na mojej stronie. Nie chcę używać strip_slashes(), ponieważ chcę zachować ukośniki w przód.Jak zamienić "" za pomocą str_replace() w PHP?

Jest to kod próbuję:

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

Chcę znaleźć ukośnik w danym ciągu znaków i usunąć go. Ale ten kod nie działa poprawnie.

Błąd:

syntax error, unexpected T_CONSTANT_ENCAPSED_STRING 

Co mogę robić źle?

Odpowiedz

19

Odwrotny ukośnik faktycznie wymyka się z zamkniętej oferty w łańcuchu.

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

+2

mnie uprzedził :) Przydatny link w celu wyjaśnienia, co jest wyciek - http://php.net/manual/en/regexp.reference.escape.php – Ren

+0

to działało! Więc musiałem uciec przed ucieczką? – user1759682

+0

to jest problem przy próbie "FBU4061 \ 0258" w podwójnych cudzysłowach –

6

Nie wiem, dlaczego używasz str_replace usunąć \ Użyj

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

Ale jeśli jego tylko przykład wtedy

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

Należy pamiętać, że stripslashes tylko usunąć backslashy nie naprzód

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

Wyjścia

it's // Tuesday! 
+1

Czy nie przeczytałeś całego pytania? – user1759682

+0

'Chcę znaleźć back slash w dowolnym ciągu i usunąć go." To nie jest to, co chcesz osiągnąć – Baba

+2

'Nie chcę używać strip_slashes(), ponieważ chcę zachować ukośniki w przód. ' – Ren

1

Z dokumentacji stripslashes():

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

Więc nie należy się martwić o FWD. ukośniki.

5

spróbować uzyskać wynik:

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

$remove_slash = stripslashes($str); 

print_r($remove_slash); 

wyjściowa: to wtorek!

0

Z:

echo str_replace("\'", "'", "it\'s Tuesday!"); 
// It's Tuesday! 
Powiązane problemy