up
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user