Как часть приложения чата, которое я пишу, мне нужно использовать регулярные выражения для сопоставления звездочек и подчеркиваний в сообщениях чата и превращения их в теги <strong>
и <em>
. Так как я ужасно с регулярным выражением, я действительно застрял здесь. В идеале мы бы настроили его так, чтобы:
- Для сильных / em можно пометить от одного до трех слов, но не более.
- Шаблоны типа "un * believ * able" будут сопоставлены.
- Только одна или другая (сильная ИЛИ em) работают в одной строке.
Вышеуказанные параметры в порядке важности, только 1 крайне необходим - остальные просто красивы. Самое близкое, что я нашел, было:
text = text.sub(/\*([(0-9a-zA-Z).*])\*/,'<b>\1<\/b>')
text = text.sub(/_([(0-9a-zA-Z).*])_/,'<i>\1<\/i>')
Но, очевидно, он не работает ни с одним из наших параметров.
Странно, что уже нет примера чего-то подобного, учитывая популярность использования звездочек для жирного шрифта и еще много чего. Если есть, я не смог бы найти его за пределами плагинов / гемов (что не сработает для этого экземпляра, так как он мне действительно нужен только в одном месте в моей модели). Любая помощь будет оценена.