Ho bisogno di un backslash per far parte di una stringa. Come posso farlo?Come si crea una stringa in PHP con una barra rovesciata?
risposta
Uso le virgolette singole
$string = 'abc\def';
Utilizzando i doppi apici
$string = "abc\\def";
In questo esempio particolare il gioco può essere singolarmente. È comunque buona pratica evaderlo. Ma per le virgolette singole allo stesso modo. – mario
Per le virgolette singole questo non funzionerà se la barra rovesciata si trova alla fine della stringa.L'utilizzo della doppia barra rovesciata nelle virgolette singole funziona in tutti gli scenari: l'ultimo esempio è migliore indipendentemente dal tipo di preventivo. – jskidd3
Risposta breve:
Utilizzare due backslash.
Risposta lunga:
A volte è possibile utilizzare una singola barra rovesciata, ma a volte è necessario due. Quando si può utilizzare una singola barra rovesciata dipende da due cose:
- se la stringa è circondato da apici singoli o doppi apici e
- il carattere immediatamente seguenti il backslash.
Se si dispone di una stringa virgolette il backslash viene trattato come un carattere di escape, in molti casi, quindi è meglio per sfuggire sempre la barra rovesciata con un altro backslash:
$s = "foo\\bar"
in un solo backslash stringa tra virgolette sarà letterale a meno che non siano seguiti da una singola citazione o da un'altra barra rovesciata. Quindi, per l'uscita una singola barra rovesciata con una singola stringa quotata normalmente è possibile scrivere questo:
$s = 'foo\bar'
ma per l'uscita di due barre rovesciate di fila avete bisogno di questo:
$s = 'foo\\\\bar'
Se si utilizza sempre due barre rovesciate voi non sarà mai sbagliato.
+1 per citare le eccezioni quando si usa un singolo \ tra virgolette singole –
Mi piace "se (! preg_mat ch ('/^[\\\,.\d\pL]*$/u', $ _POST ['some_text'])) {...} 'Quindi per evitare la barra rovesciata ho dovuto usare 3 barre rovesciate \\\ . Ho provato con uno e due, non ha funzionato. Non capisco perché 3 – user2118559
@ user2118559 i primi due nella singola stringa quotata generino uno, il terzo sia lasciato solo (non seguito da virgolette singole o barra rovesciata). così due backslash sono inseriti nella stringa che viene passata alla regexp. Quindi il regexp usa il primo per sfuggire al secondo, risultante in un singolo carattere di backspace "reale" (= essere veramente trovato nel testo). Avresti potuto usare quattro invece (quattro diventano due, analizzando la stringa, poi i restanti due diventano uno, analizzando la regexp) come suggerito correttamente da questa risposta. – FrancescoMM
Devi scappare da tutti i backslash come "c:\\windows\\"
.
Questo è un esempio migliore – user3284463
- 1. Come stampare una stringa con una barra rovesciata in Ruby
- 2. Sostituzione della barra rovesciata in una stringa
- 3. python sostituire una singola barra rovesciata con doppia barra rovesciata
- 4. Come evitare una barra rovesciata in R?
- 5. Come dividere usando una barra rovesciata
- 6. Sostituire la barra rovesciata con doppia barra rovesciata
- 7. Aggiungi barra rovesciata alla stringa
- 8. Si tratta di un errore in Scala 2.10 Interpolazione stringa all'interno di una stringa multilinea con barra rovesciata?
- 9. Barra rovesciata di escape in Swift
- 10. Sostituisci singola barra rovesciata "\" con doppi backslash "\\"
- 11. Extra barra rovesciata necessaria nel modello regexp di PHP
- 12. Come sostituire una virgoletta singola (') con una barra rovesciata, quindi virgoletta singola (\') usando sed?
- 13. barra e barra rovesciata in Ruby
- 14. come si divide una stringa con una stringa in C#
- 15. R: strsplit su barra rovesciata (\)
- 16. Java - espressione regolare per abbinare una barra rovesciata seguita da una citazione
- 17. Invio di barra e barra rovesciata con Java
- 18. Percorso completo con doppia barra rovesciata (C#)
- 19. Come si crea una classe in Wollok?
- 20. sono spazi ammessi dopo una barra rovesciata per continuare una linea (in C/C++)
- 21. Come dividere una stringa con php
- 22. Come si crea una stringa per abbinare un'espressione regolare?
- 23. Come troncare una stringa UTF8 in PHP?
- 24. Crea URL da una stringa
- 25. barra rovesciata seguita da un numero in stringhe python
- 26. Come sostituire globalmente una barra in una stringa JavaScript?
- 27. Come si crea in modo esplicito una copia di una variabile in PHP?
- 28. Come fare riferimento a un server SQL con una barra rovesciata (\) nel nome?
- 29. Come si crea una classe generica da una stringa in C#?
- 30. Come si crea una funzione parziale con generici in scala?
* (di riferimento) * [Strings] (http://de.php.net/manual/en/language.types. string.php) – Gordon
possibile duplicato di [Perché "\" restituisce un errore durante la memorizzazione in stringa in PHP?] (http://stackoverflow.com/questions/1673186/why-gives-error-while-storing-it-in -string-in-php) – Bobby