parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

обработка псевдотегов / ограничение действия regexp на "внутренности" тегов

user 10.01.2007 14:20

вот возник такой вопрос - как, например, поступают в такой ситуации:
$text[^text.match[(?<![="])((?:http://|ftp://|mailto:)(?:[:\w~%{}./?=&@,#-]+))(?<![.:])(?!"<)][gi]{<a href="$match.1">$match.1</a>}]
...
$text[^text.match[\[(url)=("?)(.{9,}?)\2\](.+?)\[/\1\]][gi]{<a href="${match.3}">${match.4}</a>}]
В этом случае происходит следующее:

link text

превращается в

[url="[url="http://my.hypelink/there/"]http://my.hypelink/there/[/url]"]link text[/url]

что-то какие-то монстры regexp получаются, но не работает как нужно :(