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.