А что не так?
Как выше уже говорил, если еще проверять валидность самих тегов - это уже совсем другая история.---------- Добавлено 17.02.2017 в 19:45 ----------
Не спорю, четкого ТЗ нет. Это уже из разряда проверки на валидность.
О, и тут вы не в курсе новостей, цена уже 1.5€ в час:)
Stek, по задаче "олимпиады", затерянной в недрах двух топиков, нужно вырезать все теги и оставить ссылки. Про безопасность речи и не было. Этак мы придем еще и к валидации самих тегов.
Stek, все отлично, пока на месте все открывающиеся и закрывающиеся теги. Но решение конечно уже не очень то и короткое.
http://sandbox.onlinephpfunctions.com/code/32083dd21ac45c88fd79be3671d96bce8a6b67de
silicoid, вы не поняли, он обернут в ссылку и должен остаться как есть - ссылкой с текстом со скобочками.
Если это перенести на html код, то мы увидим такую <<<ссылку>>>. Ситуация не частая, но встречается. А ссылки по задаче трогать нельзя.
Нормальные пацаны признают за собой ошибки.
miltorg, но ваше решение вернее и короче на 146% и конечно же покрывает все ситуации.
Разрешите докопаться:). Но тоже ломается об:
http://sandbox.onlinephpfunctions.com/code/462f5c5e896c1ac2a0d3bf722c9295ad28de6537
Вот вариант для скобочек.---------- Добавлено 17.02.2017 в 13:17 ----------
Я ушел с головой в js/node.js
Потому что, что ваш:
Что мой:
s/<((?!a[\s>])[^\s>]+)[^>]*>(.+?)<\/\1>/$2/gi;
Работают по одной аналогии.
s/\[(((?!(a|\/a)).+?)|(\/?[\w]+){2})\]//g;
Это не вам адресовалось:). Но все равно "бьется" строка:
Результат: