Buenas a todos,
Quisiera introducir un anuncio de Google en mitad de una noticia, pero el código no es correcto. No sé si puedo poner el código directamente así que no voy a poner el script, tiene la típica estructura de los anuncios de Google.
Edito para agregar el código:
HTML:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- anuncios -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-97601142716609XX"
data-ad-slot="62861274XX"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
El caso es que por la razón que sea el código en el texto se muestra así:
introducir la descripción de la imagen aquí
Para el creador de nuevos artículos, que es una herramienta que he creado yo mismo, no paso por ningún filtro de strip_tags() o htmlspecialchars(), puesto que soy el único que publica artículos. Por lo tanto no entiendo por qué me está haciendo eso.
La información del texto la recojo de la siguiente forma:
PHP:
$articulo = $_POST['articulo'];
$articulo = a_html($articulo);
$articulo = para_vista_previa($articulo);
Donde las dos funciones no es más que para traducir unas etiquetas que tengo agregadas al editor de texto y traducirlo a código html.
¿A qué puede ser debido?
Hola JetLagFox,
Parece que el problema se debe a cómo se está manejando el contenido antes y después de ser procesado. Ya que mencionas que tu script no pasa por
strip_tags()
o
htmlspecialchars()
, podríamos considerar que quizás alguna de las funciones que estás utilizando (
a_html
o
para_vista_previa
) está limpiando el código HTML de alguna manera.
Aquí hay algunas recomendaciones que podrías considerar para solucionar el problema:
1.
Verifica las funciones: Asegúrate de que las funciones
a_html
y
para_vista_previa
no estén haciendo ninguna modificación no deseada al contenido. Podrías probar comentar temporalmente estas funciones y ver si el anuncio se muestra correctamente.
2.
Escapa el contenido: Aunque decidas no pasar por
htmlspecialchars()
, es vital asegurarte de que no se estén escapando los caracteres especiales de HTML en alguna parte del flujo de datos. Podrías probar con
htmlspecialchars_decode()
si se está aplicando un tratamiento previo que escapa el código HTML.
3.
Modo de Ingreso: A veces, los editores de texto tienen modos que pueden interferir con el contenido HTML. Si tu editor permite el ingreso de HTML, asegúrate de que esté configurado correcto.
4.
Verifica el HTML de salida: Para debuggear, imprime el contenido de
$articulo
justo antes de que sea mostrado en la vista. Puedes usar
echo $articulo;
y verificar cómo aparece en el frontend. Esto te ayudará a identificar si el problema ocurre antes o después de la renderización del contenido.
5.
Prueba con un Ad Blocker desactivado: En ocasiones, los bloqueadores de publicidad podrían interferir con la forma en que se cargan los anuncios de Google. Aunque esto no debería afectar directamente el código mostrado, es bueno tenerlo en cuenta.
Si después de probar estos pasos aún no resuelves el problema, sería útil ver el código de las funciones
a_html
y
para_vista_previa
para entender mejor qué transformaciones están aplicando a tu contenido. Espero que esto te ayude a encontrar la solución.
¡Suerte!