Желание проанализировать пользовательские теги модератора в сообщениях mybb.
[mod = «Nomad»] Curabitur eu ultricies nunc [/ mod].
Donec et luctus nisi, imperdiet ipsum.
[mod = «Nomad»] Morbi feugiat tellus lectus, auctor ligula elementum ac [/ mod].
Следующее регулярное выражение PHP ничего не соответствует:
#\[mod=(['\"])(.*?)\1](.*?)\[/mod]#
Хотя этот работает (обратите внимание на добавленный g в обратном ссылке)
#\[mod=(['\"])(.*?)\g1](.*?)\[/mod]#
Как и этот (использование именованных шаблонов кажется немного излишним)
#\[mod=(?P<quot>['\"])(.*?)(?P=quot)](.*?)\[/mod]#
edit: это регулярное выражение для получения части внутри [mod] [/ mod], чтобы я мог стилизовать ее или скрыть от обычных пользователей.
Это глюк ноу-хау или я что-то упустил?
Спасибо
Здесь у вас есть то, что вы, вероятно, хотите:
\[mod=(['"])(.*?)\1\](.*?)\[\/mod\]
Демо-версия: https://regex101.com/r/zB5bX3/2
Других решений пока нет …