Desplegar texto y resaltar números en CSS

  • Autor Autor fabgonber
  • Fecha de inicio Fecha de inicio
fabgonber

fabgonber

Iota
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Hola a todos,

Tengo que desplegar un texto, desconocido de ante mano y necesito remarcar todos los números en rojo, por ejemplo:
Aliquam commodo vitae dolor a maximus. Donec sodales nibh quis imperdiet auctor. Pellentesque tincidunt ut dui sed consequat. Curabitur in justo a magna egestas sagittis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent sollicitudin leo nec mi rutrum, sit amet pellentesque lectus 86874362874326 tincidunt. Fusce tincidunt, magna non vestibulum consequat, libero felis venenatis diam, vel 86874362874326 ultrices nisi ipsum at nisl. Mauris venenatis ultricies molestie. Sed dolor magna, mollis non porta eu, suscipit in ipsum. Donec laoreet semper erat, at lobortis ipsum luctus ut. Aenean in dui tincidunt dolor semper semper in quis ex. Sed eleifend nulla felis, eget tincidunt lectus semper eu.

El texto viene de la base de datos y lo voy a colocar con php, simplemente con echo $el_texto;

¿Alguna idea?
 
Podrias solucionarlo con regex aunque consumiria mas cpu o sino funciones primitivas y menos uso de cpu.

PHP:
Solucion 1:

$buscar = '/\d+/';
$reemplazar ='<span style="color:red;">${0}</span>';
echo preg_replace($buscar, $reemplazar, $el_texto);

Solucion 2:

function ResaltarNumeros($CadAResaltar)
{
$LongCadAResaltar = strlen($CadAResaltar);
$CadRpta = "";
$CadNum = "";

for($i=0; $i<$LongCadAResaltar; $i++)
{
$CadCar = $CadAResaltar[$i];

if( !ctype_digit($CadCar))
{
 if( $CadNum != "")
 {
 $CadNum = sprintf("<span style=\"color:red;\">%s</span>", $CadNum);
 $CadRpta .= $CadNum;
 $CadNum = "";
 }
    
$CadRpta .= $CadCar;
continue;
}

$CadNum .= $CadCar;
}

if( $CadNum != "")
{
$CadNum = sprintf("<span style=\"color:red;\">%s</span>", $CadNum);
$CadRpta .= $CadNum;
}

return $CadRpta;
}


echo ResaltarNumeros($el_texto);
 
Hola compañero, si pones un poco de contexto de tu código html y una captura a nivel visual de lo que estás buscando quizá yo o algún compañero te podamos ayudar mejor.
 
Hola,

1.- Capturo las conversaciones de un chatbot para obtener teléfonos y en mi sistema se ven así:
1690464167177.png

Para pintar amarillo los números estoy haciendo esto (en php):
1690464354925.webp


Pero no quiero hacerlo en php, ni en javascript. Quiero un CSS que se de cuenta que el carácter es número y lo pinte.
 
Atrás
Arriba