This commit is contained in:
Lizandro Guarnizo
2026-04-25 14:57:54 -05:00
parent fa1f4bc581
commit f71e009641
2 changed files with 43 additions and 9 deletions
+14 -3
View File
@@ -106,14 +106,25 @@ class BancolombiaParser
}
/**
* Elimina etiquetas HTML y decodifica entidades.
* Elimina completamente bloques <style>, <script>, <head> y luego
* convierte etiquetas estructurales en saltos de línea antes de strip_tags.
*/
private static function stripHtml(string $text): string
{
// Reemplazar <br>, <p>, <div>, <tr>, <li> con salto de línea para preservar estructura
$text = preg_replace('/<(br\s*\/?|\/p|\/div|\/tr|\/li)>/i', "\n", $text);
// Eliminar bloques cuyo contenido no es texto visible
$text = preg_replace('/<style[^>]*>.*?<\/style>/si', '', $text);
$text = preg_replace('/<script[^>]*>.*?<\/script>/si', '', $text);
$text = preg_replace('/<head[^>]*>.*?<\/head>/si', '', $text);
// Convertir etiquetas estructurales a saltos de línea
$text = preg_replace('/<(br\s*\/?\s*|\/p|\/div|\/tr|\/li|\/td)>/i', "\n", $text);
// Quitar todas las etiquetas restantes
$text = strip_tags($text);
// Decodificar entidades HTML
$text = html_entity_decode($text, ENT_QUOTES | ENT_HTML5, 'UTF-8');
return $text;
}
}