Foros del Web » Programando para Internet » PHP »

Expresion regular para sustituir [cosa]algo[/cosa]

Estas en el tema de Expresion regular para sustituir [cosa]algo[/cosa] en el foro de PHP en Foros del Web. Hola Quiero hacer que en mi web me sustiya automáticamente todo lo que aparezca entre [cosa] y [/cosa] por un enlace. Voy a hacerlo con ...
  #1 (permalink)  
Antiguo 17/12/2005, 11:14
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 13 años, 2 meses
Puntos: 2
Expresion regular para sustituir [cosa]algo[/cosa]

Hola

Quiero hacer que en mi web me sustiya automáticamente todo lo que aparezca entre [cosa] y [/cosa] por un enlace. Voy a hacerlo con ereg_replace pero no se como expresarlo con una expresion regular.

¿Me podeis ayudar porfavor?

Gracias
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #2 (permalink)  
Antiguo 17/12/2005, 12:16
 
Fecha de Ingreso: diciembre-2005
Mensajes: 122
Antigüedad: 12 años
Puntos: 0
las expresiones regulares son una de las cosas que mas me enloquecen. yo te recomiendo que te pases por el sitio de php y consultes por las funciones preg_replace y compania, vas a encontrar muchos ejemplos sobre el uso de estas funciones. aqui te dejo un ejemplo que uso en uno de mis scripts:

Código:
$patterns = array( "/\[strong\](.*?)\[\/strong\]/",
                   "/\[u\](.*?)\[\/u\]/",
                   "/\[i\](.*?)\[\/i\]/",
                   "/\[title\](.*?)\[\/title\]/",
                   "/\[url=(.*?)\]/",
                   "/\[br\/\]/",
                   "/\[mail=(.*?)\]/",
                 );
$replacements = array( "<strong>\\1</strong>",
                       "<u>\\1</u>",
                       "<i>\\1</i>",
                       "<p class=\"title\">\\1</p>",
                       "<a href=\"\\1\">(\\1)</a>",
                       "<br/>",
                       "<a href=\"mailto:\\1\">(\\1)</a>"
                     );

echo preg_replace($patterns, $replacements, $mensaje)
ahora cuando se encuentre algo como

Código:
[url=http:/www.php.net]
se reeplazara con

Código:
<a href="http://www.php.net">http://www.php.net</a>
espero te haya servido
  #3 (permalink)  
Antiguo 17/12/2005, 13:45
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 13 años, 2 meses
Puntos: 2
Muchisimas gracias, es justo lo que buscaba agradecido 1 millón de veces
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
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 22:50.