Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/11/2004, 02:42
shopi
 
Fecha de Ingreso: agosto-2004
Mensajes: 5
Antigüedad: 19 años, 8 meses
Puntos: 0
Pregunta Ayuda con una Expresión Regular

Hola que tal amigos tengo un problema necesito sacar de un string unos patrones que tengo, ejemplo:

Código PHP:
$String "[bold]hola esto es texto en bold[\bold] exto no es tento en bold,[bold]de nuevo texto en bold[/bold]"
De hecho esto es sencillo usando una Expresión Regular, misma que sería algo como:

Código PHP:
$RegExp "\[bold\][a-z\s]*\[\/bold\]"
Pero digamos que ahora el String es este:

Código PHP:
$String "[bold]hola esto es texto en bold[\bold] exto no es tento en bold,[bold]Mi fecha de nacimiento en bold 27081983[/bold]"
Esto tambien es muy sencillo:

Código PHP:
$RegExp "\[bold\][a-z\s\d]*\[\/bold\]"
Pero se complica cuando hay caracteres extraños, ejemplo:

Código PHP:
$String "[bold]hola esto es texto en negritas OK?[/bold] esto se ve que no es texto en bold, unos cuantos caracteres en bold [bold]ñññññ[\bold]"
Si uso algo como:

Código PHP:
$RegExpr "\[bold\][a-z\s\d\W]*\[\/bold\]"
Me regresa toda la cadena, es decir deberia regresar algo como
Código PHP:
echo $MyArray[0][0]; #Esto debería imprimir -> [bold]hola esto es texto en negritas OK?[/bold]
echo $MyArray[0][1]; #Esto debería imprimir -> [bold]ñññññ[/bold] 
pero por el contrario imprime:
Código:
[bold]hola esto es texto en negritas OK?[/bold] esto se ve que no es texto en bold, unos cuantos caracteres en bold [bold]ñññññ[\bold]
aqui les pongo una liga pára que prueben sus expresiones regulares:
http://www.cuneytyilmaz.com/prog/jrx/

Por cierto uso la funcion:
Código PHP:
preg_match_all("/" $RegExp "/"$String$MyArray); 
De antemano muchas gracias amig@s