2011-02-25 34 views
8
<?php 
    $new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); 
    echo $new; 
?> 

debe serhtmlspecialchars PHP no está funcionando salida

& lt;a href=& #039;test& #039;&gt;Test& lt;/a& gt; 

pero el caudal es

&lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt; 
+2

No tengo idea de cómo se supone que deben verse los ejemplos de entrada y salida. Ciertamente no hay ninguna razón para pensar que lo que realmente se representa en la pregunta debería provenir de '' htmlspecialchars' como ese. Incluso después de presionar el botón Editar para ver la entrada en bruto, no soy más sabio. StackOverflow proporciona un botón "Formatear esto como código", utilícelo en lugar de intentar asignar entidades de código y utilizar espacios sin interrupciones para la sangría. – Quentin

+0

Edite su pregunta y publique su código real, formateado como código (haga clic en el botón '{}' o simplemente sangría con 4 espacios). – ThiefMaster

+0

¿Por qué?
No hay ningún enlace en '$ new' – azat

Respuesta

18

no se preocupe. htmlspecialchars() es que codifica los caracteres < y> correctamente. Es solo que cuando haces eco de la cadena codificada en la pantalla de tu computadora, tu navegador decodifica los caracteres de nuevo. Si ve el origen de la página, verá la cadena codificada.

+1

+1 Si el resultado aparece como 'Test' ** en el navegador **, entonces 'htmlentities' está haciendo exactamente lo que se supone que debe hacer. – deceze

Cuestiones relacionadas