Foros del Web » Programando para Internet » PHP »

Ayuda facil con Expresion regular

Estas en el tema de Ayuda facil con Expresion regular en el foro de PHP en Foros del Web. Estoy utilizando expresiones regulares en php pues he visto que son bastantes potentes, pero aún soy novato en ello y tengo una duda. Tengo este ...
  #1 (permalink)  
Antiguo 22/04/2008, 05:25
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Ayuda facil con Expresion regular

Estoy utilizando expresiones regulares en php pues he visto que son bastantes potentes, pero aún soy novato en ello y tengo una duda. Tengo este texto:

AAAA#PRECIO#BBB

Mi objetivo es sacar el texto que está entre #

He estado provando y comiendome la cabeza y he llegado hasta aquí, que me he atascado a ver si alguno de vosotros me hecha alguna mano.

Hice ^*[a-zA-Z0-9]+#+[a-zA-Z0-9]+#*[a-zA-Z0-9]$

Y me devuelve esto:

PRECIO#BBB

¿Me podríais ayudarme un poquito?
  #2 (permalink)  
Antiguo 22/04/2008, 07:18
 
Fecha de Ingreso: marzo-2008
Ubicación: SanTelmo City
Mensajes: 12
Antigüedad: 16 años, 1 mes
Puntos: 1
Re: Ayuda facil con Expresion regular

usa la funcion preg_replace
Algo asi
Código PHP:
$tu_cadena="AAAA#PRECIO#BBB";

$nueva_cadena=preg_replace('/#/',' ',$tu_cadena);

echo 
$nueva_cadena
Igual la estoy escribiendo de memoria, date una vuelta por la pagina de php.net para ver bien como se usa esta Funcion.


Nos vemos
  #3 (permalink)  
Antiguo 22/04/2008, 09:06
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Ayuda facil con Expresion regular

Cita:
Iniciado por synkro Ver Mensaje
usa la funcion preg_replace
Algo asi
Código PHP:
$tu_cadena="AAAA#PRECIO#BBB";

$nueva_cadena=preg_replace('/#/',' ',$tu_cadena);

echo 
$nueva_cadena
Igual la estoy escribiendo de memoria, date una vuelta por la pagina de php.net para ver bien como se usa esta Funcion.


Nos vemos

Gracias por contestar pero yo lo que quiero es sacar solo PRECIO, y esa funcion lo que hace es remplazar el patron de busqueda.

http://es.php.net/preg_replace

Aquí esta la doc ^^ :)

Lo malo que aun no resolvi mi duda, pero si aprendi algo mas ^^
  #4 (permalink)  
Antiguo 22/04/2008, 09:13
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: Ayuda facil con Expresion regular

la cadena siempre será "algo#precio#otracosa" ? solo dos # ? si es así, podrias hacer un split
Código PHP:
$array=split('#',$tu_cadena);

echo 
$array[1]; 
Creo que era algo así :P
  #5 (permalink)  
Antiguo 22/04/2008, 10:21
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Ayuda facil con Expresion regular

Cita:
Iniciado por Eleazan Ver Mensaje
la cadena siempre será "algo#precio#otracosa" ? solo dos # ? si es así, podrias hacer un split
Código PHP:
$array=split('#',$tu_cadena);

echo 
$array[1]; 
Creo que era algo así :P
Si funciona tu método pero yo me quedé con las ganas de saber la Expresion regular jajajja jo ya es que es algo personal sabeis? XD jajaja Aisias por contestar colega ;) y por solucionarlo tb
  #6 (permalink)  
Antiguo 22/04/2008, 10:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Ayuda facil con Expresion regular

Código PHP:
<?php
    
if (preg_match_all('/([^#]+)#?/','AAA#NN#BBB',$test))
    {
        
print_r($test[1]);
    }
?>
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:24.