деталі підручника
Тема: PHP, регулярні вирази
Фреймворк YII2. Швидка розробка з сучасним PHP фреймворком
Дізнайся тонкощі сучасної веб-розробки за допомогою фреймворка YII2
Розмір архіву: 67 Mb
Отже, з'єднавши вихідні з обох зазначених уроків, я отримав приблизно таку картину:
Тепер про те, як би ми хотіли публікувати приховане вміст. Як правило, для цього використовуються BB-теги HIDE. Не будемо оригінальними і скористаємося традиційною назвою. Таким чином, публікація прихованої посилання буде мати наступний вигляд:
Фреймворк YII2. Швидка розробка з сучасним PHP фреймворком
Дізнайся тонкощі сучасної веб-розробки за допомогою фреймворка YII2
Перш за все, попрацюємо з гостем і доб'ємося того, щоб замість поточного результату він бачив повідомлення про прихований контенті. Як Ви, напевно, вже здогадалися, нам будуть потрібні можливості регулярних виразів. Отже, давайте складемо шаблон:
Даний шаблон шукає в тексті BB-теги HIDE і все, що в них міститься. При цьому шаблон буде регістронезавісімого (завдяки модифікатору «i») і мультістрочним (завдяки модифікатору «s», що забезпечує збіг метасимвола точки з перенесенням рядка). Варто також звернути увагу, що після квантіфікатора «*» ми поставили ще один квантіфікатор - «?» - тим самим роблячи перший квантіфікатор «ледачим». Це забезпечує коректну роботу шаблону з двома і більше блоками HIDE в тексті.
Отже, шаблон готовий і ми можемо приступити до написання нескладної функції:
І кілька правил для класу hide:
І викличемо функцію hide_content () для виведеного тексту. У нашому випадку це буде мати такий вигляд:
У змінну $ text потрапить пропущений через функцію hide_content () виводиться текст. Ну а рядком нижче він буде виведений.
Тепер замість BB-тегів HIDE і їх вмісту гість буде бачити те, що ми і хотіли:
Тут ми трохи змінили шаблон. Оскільки нам потрібно показувати вміст тегів HIDE, ми скористалися запоминающими дужками - (. *?). Ну а в функції preg_replace (), відповідно, посилаємося на запомненное - $ 1.
І кілька правил для класу show:
От і все. Завдання реалізована і, як бачите, реалізується вона досить просто. Успіху і до нових зустрічей!
Фреймворк YII2. Швидка розробка з сучасним PHP фреймворком
Дізнайся тонкощі сучасної веб-розробки за допомогою фреймворка YII2
Найсвіжіші новини IT і веб-розробки на нашому Telegram-каналі
Хочете вивчити регулярні вирази на PHP?
Прямо зараз подивіться 12-ти годинний курс за регулярними виразами на PHP!