Foros del Web » Programando para Internet » PHP »

Dos consultas relacionadas con expresiones regulares

Estas en el tema de Dos consultas relacionadas con expresiones regulares en el foro de PHP en Foros del Web. Hola a todos, tengo dos consultas 1) estoy intentando hacer un highlighter de css y estoy intentnado que apartir de esto color:#fff; Obtener esto: <span>color</span><span>:</span><span>#fff</span> ...
  #1 (permalink)  
Antiguo 27/03/2011, 14:49
Avatar de dyegox  
Fecha de Ingreso: enero-2008
Mensajes: 173
Antigüedad: 16 años, 3 meses
Puntos: 7
Dos consultas relacionadas con expresiones regulares

Hola a todos, tengo dos consultas

1) estoy intentando hacer un highlighter de css y estoy intentnado que apartir de esto
color:#fff;
Obtener esto:
<span>color</span><span>:</span><span>#fff</span>

estoy usando la siguiente expresion regular para lograrlo:
Código PHP:
Ver original
  1. /((?:[a-z][a-z0-9-]*))^(:).*?((?:[a-z0-9\-_<>#"]*))/
Funciona, pero el problema es que si ahi un espacio por ejemplo:
color: #fff; o color :#fff
Deja de funcionar, se puede mejorar esta expresion? que falta que provoca un error si tiene espacios??

2) La funcion preg_replace_callback no me reconoce una funcion estoy haciendo algo asi,
Código PHP:
Ver original
  1. $code = preg_replace_callback('/(\\\'.*?\\\')/', create_function(
  2.             '$match',
  3.             'return "<span class=\"encomillado\">" . strip_tags($match[1]) . "</span>";'
  4.         ), $code);
Todo funciona, pero es como que no reconoce la funcion strip_tags, cual sera el problema?

Desda ya gracias :)
  #2 (permalink)  
Antiguo 28/03/2011, 03:41
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Dos consultas relacionadas con expresiones regulares

Hola dyegox,

el único problema son los espacios?

has probado a usar "trim()"?

$nueva_cadena = trim($antigua_cadena);

esto te elimina los espacios en blanco de $antigua_cadena.

Muerto el perro, se acabó la rabia.
  #3 (permalink)  
Antiguo 28/03/2011, 04:43
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Dos consultas relacionadas con expresiones regulares

Cita:
Iniciado por fontanares Ver Mensaje
Hola dyegox,

el único problema son los espacios?

has probado a usar "trim()"?

$nueva_cadena = trim($antigua_cadena);

esto te elimina los espacios en blanco de $antigua_cadena.

Muerto el perro, se acabó la rabia.
Solo decir que trim() te quita los espacios en blanco del principio y el final de la cadena, si quieres quitar los espacios en blanco de toda la cadena, puedes usar la funcions str_replace:

Código PHP:
$a " Aquí hay muchos espacios en blanco ";

$b str_replace(" " "" $a);

echo 
$b
Saludos.
  #4 (permalink)  
Antiguo 28/03/2011, 06:59
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Dos consultas relacionadas con expresiones regulares

Gracias por tu apunte, marti1982.

Etiquetas: expresiones, regulares
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:10.