Парсинг 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