[РЕШЕНО] Wiki разметка и регулярные выражения

Всем привет. Столкнулся с задачей где из текста нужно выдернуть ссылки расписанные под wiki-разметку и сделать их нормальными ссылками. Пример:

Ссылки встречающиеся в тексте

[id215554550|Евгений Маркин]

Нужно заменить на:

<a rel="nofollow" href="https://vk.com/id215554550">Евгений Маркин</a>

Пробую сделать так:

$text = preg_replace('/\[(?:.+?\|)?(.+?)\]/us', '<a rel="nofollow" href="https://vk.com/$2">$1</a>', $text);

Если делать так, то второе условие не вставляется.

UPD:

Рабочий вариант

$text = preg_replace('/\[id(\d{1,20})\|(.*?)\]/', '<a target="_blank" rel="nofollow" href="https://vk.com/id$1">$2</a>', $text);
regex101.com/r/Fv9bkW/1
SEQUEL.ONE
18 декабря 2016, 19:52
modx.pro
2
954
0

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0