Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/12/2007, 11:15
Avatar de Did_Web
Did_Web
 
Fecha de Ingreso: junio-2007
Ubicación: El vendrell (Tarragona)
Mensajes: 52
Antigüedad: 16 años, 10 meses
Puntos: 0
Mejorar Expresion Regular

Alguien podria explicarme como mejorar una expresion regular....

Tengo una funcion que me permite formatear una cadena de caracteres ejmplo si pongo NNquialquier palabarNN me lo convierte en negrita y si pongo www.lo quesea.com me lo convierte en una URL.

Ahora bien cuando cuando ponog 2 veces...

NNPrimeraNN abcde NNSegundaNN

Si no existe una cambio de parrafo se come las NN del medio y obtengo...

PrimeraNN abcde NNSegunda

Cuando deberia tener..

Primera abcde Segunda

El codigo es....


function
transformacadena($cadena)
{



$patron


="NN([[:alnum:]/\n+-=%&:_.~?áéíóúàèìòù ]+[#[:alnum:]+]*)NN";

$patronh


="HH([[:alnum:]/\n+-=%&:_.~?áéíóúàèìòù ]+[#[:alnum:]+]*)HH";

$patron2


="www.([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)";

$reemplazo


= "<b>\\1</b>";
$reemplazo2


= "<a class='enlacepie' href='http://www.\\1' target='_blank'>www.\\1</a>";
$reemplazoh


= "<h4 class='colornaranja txtnegrita'>\\1</h4>";

$final


=ereg_replace($patron, $reemplazo, $cadena);


$finalh


=ereg_replace($patronh, $reemplazoh, $final);

$final2


=ereg_replace($patron2, $reemplazo2, $finalh);

return


nl2br($final2);
}

Gracias !!