
04/06/2005, 04:02
|
 | | | Fecha de Ingreso: noviembre-2004 Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 20 años, 3 meses Puntos: 9 | |
ayuda con expresion regular Hola, estoy haciendo unas expresiones regulares para sustituir la cadena [#enlace->direccion#] por un link HTML, y la cadena [#destinoenlace#] por un <a name=...></a>, o sea, el destino de un enlace de pagina.
Entonces, con expresiones regulares busco lo que haya entre [# y #] y lo trato como corresponda. Para saber si es un destino y no un origen busco que no tenga "->" entre los [#..#] asi:
$patron = "{\[#([^->]*)#\]}Ui"
Hasta aqui sin problema. El problema es mi procedimiento seria mucho mas eficiente si antes de utilizar el preg_replace hago htmlentities de la cadena, entonces el link se convierte en [#enlace->direccion#], cambiando el > por > y ahi esta mi problema, no se como se escribe un patron para decir que no exista la cadena exacta -> porque si digo:
$patron = "{\[#([^->]*)#\]}Ui"
Busca una cadena que no tenga "-" o "&" o "g" o "t" o ";", pero yo quiero que sea la secuencia exacta la que no exista.
Ademas no se si debo escapar (con el \) los caracteres "&" y ";".
¿Alguien sabe que expresion deberia poner? Gracias. |