Приховуємо контент від гостей

деталі підручника

Тема: 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!