Procesando...
Posteado por:

Administrador
ce2rrl
★ Administrador
Administrador

RISUS NOVA 2.2.0: HTML visible al editar posts

ESPACIO PUBLICITARIO (728x90)

Solución 002: HTML aparece como texto al editar un post

Guía técnica de RadioaficionadosClub.cl | RISUS NOVA 2.2.0 / PHPost | 11 de noviembre de 2026

Entorno de referencia: PHP 8.4, MariaDB 11.4, Smarty, CKEditor y tema personalizado RadioaficionadosClub Modern.

1. Problema y síntomas

Después de editar y guardar, el artículo muestra literalmente etiquetas como

o en vez de presentar los párrafos y negritas.

2. ¿Dónde revisar?

  • inc/class/c.posts.php: procesamiento al guardar y obtener el post.
  • themes/radioaficionadosclub-modern/templates/modules/m.agregar_form.tpl: contenido precargado en CKEditor.
  • p_posts.post_body y p_borradores.b_body: revisar datos sin modificarlos a ciegas.

3. Diagnóstico

En el flujo investigado, CKEditor produce HTML, pero la edición podía convertirlo a entidades HTML antes de almacenarlo. La vista pública puede decodificarlo una sola vez; múltiples codificaciones acumulan < y alteran el resultado.

4. Solución paso a paso

  • Hacer respaldo de PHP, plantilla y base de datos.
  • Identificar en qué paso el contenido se convierte de HTML a entidades: creación, edición, almacenamiento o salida.
  • Unificar el tratamiento de HTML entre crear y editar; evitar ejecutar dos veces la misma codificación.
  • Sanitizar HTML permitido en el servidor al mostrarlo y no confiar en los datos del editor.
  • Probar una publicación con párrafos, negritas y enlaces antes y después de editar.

5. Código de ayuda (ejemplo orientativo)

Estos fragmentos ilustran el concepto. Deben adaptarse a la estructura y funciones de cada versión; no sustituyen un parche probado.

Entrada del editor:

Texto


Contenido escapado una vez: <p><strong>Texto</strong></p>
Antes de mostrar HTML: decodificar una sola vez y purificar la salida.
No hacer html_entity_decode repetido ni desactivar la sanitización.

6. Cómo comprobar la reparación

  • Crear un post de prueba con dos párrafos y una negrita.
  • Abrirlo, editar solo una palabra y guardar.
  • Confirmar que no se ven etiquetas y que se conserva el formato.
  • Repetir la edición para detectar dobles codificaciones.

7. Estado de la solución

Se preparó un parche para unificar el tratamiento de HTML. En la copia SQL aportada se observan registros con entidades HTML, pero esta copia por sí sola no demuestra que el resultado visual ya esté corregido en el hosting.

8. Precauciones

No convertir indiscriminadamente todas las filas de p_posts: algunas almacenan BBCode y otras HTML. La migración masiva podría dañar contenido válido.

Antes de cualquier cambio, respalda los archivos y la base de datos. No reemplaces archivos completos de otra versión sin comparar los cambios.

¿Te ocurrió este problema? Indica tu versión de PHPost/RISUS NOVA, tema, versión de PHP y pasos para reproducirlo en los comentarios.

RadioaficionadosClub.cl · Comunidad de radioaficionados de Chile para el mundo. Publicación independiente; no es documentación oficial de PHPost.

ESPACIO PUBLICITARIO (728x90)

0 Comentarios


Cargando comentarios espera un momento...

Sección restringida

Lo sentimos, actualmente no tienes permisos para participar en los comentarios de este post.


Ayuda - Preguntas Frecuentes - Chat - Contacto - Protocolo
Normas y términos - Privacidad y datos personales - Derechos de autor y denuncias