Alguien podria explicarme como mejorar una expresion regular....
Tengo una funcion que me permite formatear una cadena de caracteres ejmplo si pongo
NNquialquier palabar
NN 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...
NNPrimera
NN abcde
NNSegunda
NN
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 !!