Signo al final de la cadena no es visible en el navegador
Pregunta
Soy imprimir una cadena como a continuación
Código:
echo "&words=".$rs['pw']."&";
Salida:
& palabras = Ayuda | Buena
Tenga en cuenta que la última &
no se imprime.
Pero cuando agrego un carácter de espacio después de &
y luego éste se imprime como a continuación
Código:
echo "&words=".$rs['pw']."& ";
Salida:
& palabras = Ayuda | Good &
Ahora se imprime &
.
¿Por qué su suceso y cuál es la razón de este comportamiento?
Solución
Si va a dar salida a un navegador web que debe escapar de las y mediante el uso de &
"y" en HTML se utiliza mucho para escapar de las cadenas, y en la dirección URL de modo es un caracter especial, como <> etc.
Otros consejos
Si va a dar salida en una página web, el navegador interpretará &
especial. Seleccionar en "ver fuente" en su navegador, y verá la salida de crudo. Si es necesario que aparezca en un contexto html, que tendrá que pasar la cadena a través htmlspecialchars
antes de imprimirlo. Por lo tanto:
$rs['pw'] = "Help|Good";
echo htmlspecialchars("&words=".$rs['pw']."&");
Este código funciona para mí
$rs['pw'] = "Help|Good";
echo "&words=".$rs['pw']."&";
salida
& palabras = Ayuda | Good &
Lo que me lleva a una pregunta: ¿Cuál es el contexto? ¿Dónde es esto salida de código, usted está funcionando en un servidor web y la visualización en un navegador? ¿No hay otro código implicado que puede estar causando esto?
Si el contexto es algo así como la salida en HTML, entonces usted necesita para asegurarse de que está en el lugar correcto. En HTML signo es especial y que debe escapar de ella. Por lo general, eso significa que se traduce en &