Newsgroup: it.comp.www.php
Titolo: Come risolve questo problema di slash???

Ciao a tutti,
 
	ho un problema di slash nelle pagine php.
 
Se scrivo:
$text = str_replace('\', '/', $location);
 
Mi viene perennemente generato errore. Come posso risolvere?
 
Grazie!!!

 Mi viene perennemente generato errore. Come posso risolvere?
 
Quale errore?
 
Ciao.
 
-- 
Pubblicita' regresso: 
http://www.ferrero.org
 
** Per scrivermi in mail, sostituire nutella con ferrero...
** To contact me by email, change nutella to ferrero...

Mi viene perennemente generato errore. Come posso risolvere?
 
Leggendo il manuale ;-)
 
Dato che il backslash e' un "escape", non puoi usarlo da solo, e
devi sottoporre anch'esso ad escaping. Quindi scriverai \\ e non
\.
 
Detto questo, penso ai possibili motivi per cui stai facendo una
operazione del genere, e ho la sensazione di averti appena detto
come togliere la sicura al tuo asciugacapelli Smith & Wesson :-|
 
Leonardo
 
-- 
Tell us whether you spy, in the light of the morn,
what saluted was fiercely at the fall of the past day:
whose pips and whose bands in the very heart of the fray
bravely floated from the bulwarks to which we were sworn?

 \.
 
Premetto che a quest'ora le mie facolta' mentali scarseggiano, ma usando 
il ' invece del " non dovrebbero esserci problemi di escape.
 
In ogni caso finche' non sappiamo che errore riporta...



 
Ma trolli?
 
Ovvio che riporta un errore di parsing "unexpected string" !
 
Senza offesa ma, vista la domanda ripetuta due volte, ti segnalo questo sito 
che potrą esserti di aiuto per migliorare i tuoi skills php:
 
www.phpforidiots.com
 
 
 
ciao 
 
 

 
www.phpforidiots.com
 
 
Ho ripetuto la domanda due volte perche' invece di provarlo 
(effettivamente da errore di sintassi) mi ero basato su quanto scritto 
nella documentazione:
 
http://www.php.net/manual/en/language.types.string.php
 
 
dove riporta:
 
"Note: Unlike the double-quoted and heredoc syntaxes, variables and 
escape sequences for special characters will not be expanded when they 
occur in single quoted strings."
 
Mi sarei quindi aspettato che il backslash non venisse interpretato come 
escape...
 
Devo dedurne che e' sbagliata la documentazione?


 
www.phpforidiots.com
 
 
"This domain is for sale"
 
LOL
 
-- 
Alessandra
 
Perche' dovrei permettere a quel dio che dovette affogare i suoi figli
di dire a me come crescere I miei figli ? - Robert Green Ingersoll

 
www.phpforidiots.com
 
 
ma lol! :-D
 
 
-- 
http://www.evilripper.net
 
http://www.flickr.com/photos/evilripper/
 

Devo dedurne che e' sbagliata la documentazione?
 
No, solo che va interpretata.
 
Non sono le "escape sequences" a non essere espanse, ma le "escape
sequences for special characters".
 
Quindi \n in apice singolo sono due caratteri, \t anche, \r pure e
cosi' via.
 
Ma ci sono altre due escape sequence che il parser DEVE espandere,
ovunque siano, se no si mette nei casini:
 
	\\
 
(per ovvie ragioni), e
 
	\'
 
perche', altrimenti, non potresti mettere apici dentro una stringa
quotata con apici:
 
	'L\'accesso all\'area riservata'
 
(in altri linguaggi l'apice fa escape di se stesso:
 
	'L''accesso all''area riservata'
 
ma mi e' sempre parsa una cosa poco tranquilla).
 
Sicche' quando l'OP, volendo scrivere "un backslash fra apici", ha
scritto
	'\'
 
in realta' il sistema l'ha letto come
 
	Un apice, seguito da un apice in escape, seguito da... si
	stara' a vedere.
 
L'apice successivo ha concluso la stringa... quel che veniva dopo,
pero', che l'OP pensava come il contenuto della seconda stringa, è
stato considerato FUORI DALLA PRIMA STRINGA e quindi codice PHP, e
ha causato un errore di sintassi.
 
Avessi cinque centesimi per ogni volta che l'ho commesso io questo
errore, non dico che sarei ricco, ma benestante si' :-D


 	\'
 
Grazie mille per il chiarimento.
