Necesito una barra diagonal inversa para ser parte de una cadena. ¿Cómo puedo hacerlo?¿Cómo se hace una cadena en PHP con una barra invertida en ella?
Respuesta
Uso de comillas simples
$string = 'abc\def';
Uso de comillas dobles
$string = "abc\\def";
En este ejemplo particular, la reacción podría ser individual. Sin embargo, es una buena práctica escapar de ella. Pero para las comillas simples por igual. – mario
Para comillas simples, esto no funcionará si la barra invertida está al final de la cadena.El uso de doble barra diagonal inversa en comillas simples funciona en todos los escenarios; el último ejemplo es mejor sin importar el tipo de comillas. – jskidd3
Respuesta corta:
usar dos barras invertidas.
Respuesta larga:
A veces se puede usar una sola barra invertida, pero a veces se necesitan dos. Cuando se puede usar una sola barra invertida depende de dos cosas:
- si la cadena está rodeado por comillas simples o dobles y
- el carácter inmediatamente después de la barra invertida.
Si usted tiene una cadena de comillas dobles de la barra invertida se trata como un carácter de escape en muchos casos lo que es mejor para escapar siempre la barra invertida con otra barra invertida:
$s = "foo\\bar"
en una sola barras invertidas cadena entre comillas será literal a menos que sea seguido por una comilla simple u otra barra invertida. Así que a la salida de una sola barra invertida con una sola cadena entre comillas que normalmente puede escribir lo siguiente:
$s = 'foo\bar'
sino a la salida dos barras invertidas en una fila que necesita esto:
$s = 'foo\\\\bar'
Si siempre utiliza dos barras invertidas se nunca estará mal.
1 para citar las excepciones cuando se utiliza una sola \ entre comillas simples –
lo hice como 'if (! preg_mat ch ('/^[\\\,.\d\pL]*$/u', $ _POST [ 'some_text'])) {...} 'Así que para escapar barra invertida que tenía que utilizar 3 barras invertidas \\\ . Intenté con uno y dos, no funcionó. No entiendo por qué 3 – user2118559
@ user2118559 los dos primeros en la cadena entre comillas simples generan una, la tercera se queda solo (no seguida de comilla simple o barra invertida). entonces dos barras invertidas se insertan en la cadena que se pasa a la expresión regular. Luego, la expresión regular usa la primera para escapar de la segunda, lo que da como resultado un único carácter de retroceso "real" (= que realmente se encuentra en el texto). Podría haber usado cuatro en su lugar (cuatro se convierten en dos, analizar la cadena, luego los dos restantes se convierten en uno, analizar la expresión regular) como sugiere esta respuesta. – FrancescoMM
Tienes que escapar de todas las barras diagonales inversas como "c:\\windows\\"
.
Este es un mejor ejemplo – user3284463
- 1. ¿Qué hace una \ (barra invertida) en PHP (5.3+)?
- 2. Cómo agregar una barra invertida en una cadena en java
- 3. JavaScript: una barra invertida como parte de la cadena
- 4. Reemplazo de la barra invertida en una cadena
- 5. Escape de barra invertida en cadena - Javascript
- 6. Se necesita una barra invertida adicional en el patrón de expresiones regulares PHP
- 7. PHP: ¿Hace una cadena mayúscula pero no las entidades html en ella?
- 8. ¿Cómo agregar una sola barra invertida a una cadena en Ruby?
- 9. ¿Cómo se genera una ruta de directorio con separadores de doble barra invertida o barra diagonal?
- 10. Python cómo sustituir barra invertida con re.sub()
- 11. barra diagonal y barra invertida en Ruby
- 12. ¿Por qué no puedo terminar una cadena sin procesar con una barra invertida?
- 13. ¿Cómo puedo escapar de una cadena escapada de barra invertida en Python?
- 14. ¿Cómo reemplazaría una comilla simple (') con una barra invertida luego una comilla simple (\') usando sed?
- 15. ¿Cómo se hace una animación de UIBarButtonItem?
- 16. ¿Cómo usar una cadena con comillas dentro de ella?
- 17. Cómo imprimir una cadena terminada en nulo con líneas nuevas sin mostrar escapes de barra invertida en gdb?
- 18. codificando una barra de búsqueda con ícono dentro de ella
- 19. Retirar un carácter de barra invertida de una cadena en C#
- 20. cómo se divide una cadena con una cadena en C#
- 21. ¿Cómo realizo una actualización de enlace cuando se hace clic en ella?
- 22. ¿Se puede codificar la barra invertida correctamente en URL con reescritura de URL?
- 23. partido Regex estrella barra invertida
- 24. ¿cómo se puede eliminar la barra invertida en valor por jQuery?
- 25. ¿Qué significa realmente la barra invertida "\"?
- 26. Java: expresión regular para hacer coincidir una barra invertida seguida de una comilla
- 27. Cómo obtener una Cadena invertida (caja fuerte Unicode)
- 28. ¿Cómo eliminar la barra invertida en cadena utilizando expresiones regulares en Java?
- 29. PHP 5.3 Espacios de nombres ¿debo usar cada función PHP con barra invertida?
- 30. Cómo imprimir una cadena con una barra hacia atrás en Ruby
* (de referencia) * [Strings] (http://de.php.net/manual/en/language.types. string.php) – Gordon
posible duplicado de [¿Por qué? \ "da error al almacenarlo en cadena en PHP?] (http://stackoverflow.com/questions/1673186/why-gives-error-while-storing-it-in -string-en-php) – Bobby