Парсинг bb-кодів
Якщо Ви створювали форум або створювали можливість коментування на сайті, то, цілком ймовірно, що ви стикалися з BB-кодами. На всякий випадок, BB-коди - це набір тегів, схожих на HTML-теги, які створені для редагування зовнішнього вигляду повідомлення. наприклад, [B] [/ b], [Url = http: //google.ru] Google [/ url], [Img] https://myrusakov.ru/img.jpg [/ img] - це все різні BB-коди. І ось завдання програміста полягає в тому, щоб перетворити BB-коди в HTML-код. ось парсинга BB-коду і перетворенням його в HTML-код, ми і займемося в цій статті.
Відразу наводжу код цього скрипта, а точніше функції, яка приймає текст з BB-кодами, а повертає вже HTML-код:
lt ;?php
protectedfunction replaceBBCode($ text_post){
$ str_search = array(
"# n # is",
"# [B ] (. +?) [ / B ] # is",
"# [I ] (. +?) [ / I ] # is",
"# [U ] (. +?) [ / U ] # is",
"# [Code ] (. +?) [ / Code ] # is",
"# [Quote ] (. +?) [ / Quote ] # is",
"# [Url = (. +?) ] (. +?) [ / Url ] # is",
"# [Url ] (. +?) [ / Url ] # is",
"# [Img ] (. +?) [ / Img ] # is",
"# [Size = (. +?) ] (. +?) [ / Size ] # is",
"# [Color = (. +?) ] (. +?) [ / Color ] # is",
"# [List ] (. +?) [ / List ] # is",
"# [Listn] (. +?) [ / Listn ] # is",
"# [ * ] (. +?) [ / * ] #"
) -
$ str_replace = array(
"
",
" 1",
" 1",
" 1",
" 1", "
| Цитата |
| 1 |
" 2",
" 1",
"",
" 2",
" 2",
"
- 1
Відео: королі стихій bb коди
","
- 1
"
) -
return preg_replace($ str_search, $ str_replace, $ text_post) -
}
?gt;
Як бачите, здавалося б складне завдання елементарно вирішується фактично однією функцією - preg_replace (). Тому, коли мене запитують, а чи потрібні ці регулярні вирази, я завжди відповідаю: "Так!". Якби Ви вирішували це завдання звичайними строковими функціями, то коду було б набагато більше, а результат був би, швидше за все, гірше. Єдине, що в даній функції не робиться - це перевірка на коректність вхідних даних. Адже користувач може не закрити тег (випадково видалив його, наприклад) або, наприклад, не дотримуватися вкладеність тегів, так багато чого ще. На практиці, такими перевірками ніхто не займається, а в разі "кривого"Повідомлення, його правлять вручну (зазвичай дефектність відразу видно).
Відео: [PHP] Пишемо свій движок 2.0. Проста валідація BB кодів. Частина 3 # 25
Сподіваюся, дана функція допоможе Вам у парсінгу BB-кодів. За аналогією, Ви можете додати ще різних BB-кодів, наприклад, BB-код вставки відео з YouTube.
Barcode scanner
Як зробити візуальний редактор на jаvascript
Як зробити коментування на сайті
Як зробити коментування на html-сайті
Як зробити смайли в коментарях
Як відправити referer через curl
Як зробити гарячі клавіші на сайті
Як проводити рефакторинг?
Мета-теги в html
Мета-теги для сторінки в html
Зміна зовнішнього вигляду першої літери
Реалізація редиректу на php
Різниця між html і xhtml
Html-теги для тексту
Прогалини в html
Валідність jаvascript
Створення динамічної функції на php
Мета-теги для пошукових систем в html
Парсинг xml-документа на php
Мета-теги для браузера в html
Об`єкт link в jаvascript
Зміна зовнішнього вигляду першої літери
Реалізація редиректу на php
Створення динамічної функції на php
Мета-теги для браузера в html
Як зробити коментування на сайті
Різниця між html і xhtml
Парсинг xml-документа на php
Як зробити смайли в коментарях
Прогалини в html
Як відправити referer через curl