Регулярное выражение PHP для применения разметки в скобках как полужирного - PullRequest
0 голосов
/ 11 сентября 2010

Я сейчас работаю над проектом, который является рупором. Поскольку я отключил весь HTML, поскольку люди, скорее всего, забудут закрыть тег и все испортить, я хотел создать другую форму, добавив немного чуткости, чтобы люди могли использовать их в своих сообщениях.

Я хочу настроить регулярное выражение в PHP для добавления тегов вокруг текста. Вот пример того, что я хочу сделать ...

Если человек печатает "[Привет!] Как {все}?" это будет отображаться как таковой ...
" Привет! Как каждый ?"

Текст в квадратных скобках [] станет жирным, а текст в квадратных скобках {} будет выделен курсивом.

Кто-нибудь знает, как написать регулярное выражение для этого?
Спасибо!

1 Ответ

4 голосов
/ 11 сентября 2010

Один из способов сделать это будет:

$str = preg_replace('~\[([^\]]*)\]~', '<b>\\1</b>', $str);
$str = preg_replace('~{([^}]*)}~', '<i>\\1</i>', $str);

Как видно на кодовой панели .

При этом я не одобряю создание еще одного языка разметки. Как и BBCode, это зло.

BBCode - это язык разметки, изобретенный ленивыми программистами, которые не хотят правильно фильтровать HTML. В результате у нас теперь есть свободный «стандарт», который сложно реализовать. Отфильтруйте ваш HTML правильно:

http://htmlpurifier.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...