Foros del Web » Programando para Internet » PHP »

preg_replace (problemon)

Estas en el tema de preg_replace (problemon) en el foro de PHP en Foros del Web. Amigos: me hice un script para reemplazar *palabra* y #palabra# por <strong>palabra</strong> y <b>palabra</b> respectivamente. Funcionar.....funciona pero solo cuando hay UNA ocurrencia de cada tipo ...
  #1 (permalink)  
Antiguo 18/02/2008, 18:20
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
preg_replace (problemon)

Amigos: me hice un script para reemplazar *palabra* y #palabra# por <strong>palabra</strong> y <b>palabra</b> respectivamente.

Funcionar.....funciona pero solo cuando hay UNA ocurrencia de cada tipo y si hay mas... falla.

Código PHP:
<?php

//$str = "El *tetris* es el #clasico# de los clasicos.";
$str "El *tetris* es el #clasico# de los clasicos. Sin duda el *tetris* es el mejor juego ";

$str preg_replace("/[\052]{1}(.*)[\052]{1}/""<strong>$1</strong>"$str); # *palabra* 
$str preg_replace("/[\043]{1}(.*)[\043]{1}/""<b>$1</b>"$str);  // #palabra# 

echo $str;
?>
Ideas ?
__________________
Salu2!
  #2 (permalink)  
Antiguo 18/02/2008, 23:41
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Re: preg_replace (problemon)

Hola, no entiendo por que usas este patrón..

Código PHP:
/[052]{1}(.*)[052]{1}/ 
Lo modifique para que encontrara solo la coincidencia dentro de dos asteriscos.. asi..

Código PHP:
/*(.+?)*/ 
Pero creo que quedaria mejor si lo usas en un array.. algo así..

Código PHP:
<?php
$str 
"El *tetris* es el #clasico# de los clasicos. Sin duda el *tetris* es el mejor juego"
$patrones = array('/\*(.+?)\*/','/#(.+?)#/');
$remplazos = array('<strong>$1</strong>','<b>$1</b>');
$str preg_replace($patrones,$remplazos,$str);
echo 
$str;
?>
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #3 (permalink)  
Antiguo 19/02/2008, 01:21
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: preg_replace (problemon)

Excelente!!! me fallaba porque como dices es (.+?) y no (.*)

No se en que estaba pensando
__________________
Salu2!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:31.