Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 12.09.2013
Сообщений: 28

Парсер бб-тега hide

23.07.2014, 16:35. Показов 763. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не знаю в какую тему нужно было писать, посчитал нужным написать сюда т.к. в коде присутствует регулярное выражение. Сразу скажу что я только изучаю php, и поэтому "велосипеды" пытаюсь изобрести самостоятельно, чтобы уметь в будущем.) И так, пишу форму добавления новости на страницу с панелью бб-кодов, со всеми тегами вроде как справился, кроме одного - hide, т.е. скрытие сообщения. У меня с помощью CSS + JS удалось реализовать его, но скрытый контент по прежнему видно в исходном коде браузера, поэтому я решил что нужно как-то прятать его под PHP. Но тут меня поджидал подводный камень, дело в том, что парсирую теги я с помощью функции preg_replace, и по шаблону там контент присваивается к "метки", или как она там называется, в виде $1, $2 и т.д., и я не могу присвоить ее переменной т.к. это выполняется в функции. В общем вот кусок кода парсера, отвечающий за тег hide:
PHP
1
2
$pattern = "/\[hide=([^\]]+?)\](.+?)\[\/hide\]/uis";
$text = preg_replace($pattern, "<div id=\"border_hide\"><span id=\"hide_message\">Сообщение скрыто пользователем<br></span><button type=\"button\" value=\"$1\" id=\"button_hide\" onClick=\"hide('block_hide', 'hide_message', 'hide_message2', 'button_hide');\" disabled>Посмотреть</button><script>if (document.getElementById('button_hide').value <= ".$checkProperty->checkRep()." || ".$checkProperty->groupCheckNumber()." == 5) document.getElementById('button_hide').disabled = false;</script><span id=\"hide_message2\">Для просмотра необходимо $1 единиц репутации!</span><div id=\"block_hide\" style=\"display: none;\">$2</div></div>", $text);
Там присутствуют 2 объекта, один выводит кол-во репутации пользователя, второй проверяет пользователя на админа. Жду ваших предложений. Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.07.2014, 16:35
Ответы с готовыми решениями:

В соответствии со значением конкректного тега, задать стили для предшествующего тега
Кусок html-кода: &lt;ul class=&quot;ul&quot;&gt; &lt;li class=&quot;li&quot;&gt; &lt;label&gt;&lt;/label&gt; &lt;span&gt;&lt;/span&gt; ...

Смогу ли я получить доступ к переменной данного тега из другого тега script?
если я в одном теге script объявлю переменную с именем mymap,то смогу ли я получить доступ к этой переменной из другого тега script. ...

Добавление значение тега при соответствии условию другого тега (HtmlAgilityPack)
На странице html содержится текст (элемент коллекции HtmlNodeCollection) &lt;div class=&quot;wrapper&quot;&gt; &lt;a...

1
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
24.07.2014, 00:07
Используйте preg_replace_callback.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.07.2014, 00:07
Помогаю со студенческими работами здесь

Как выводить описание тега в шаблоне страницы с материалами тега?
Подскажите пожалуйста, как выводить описание тега в шаблоне страницы с материалами тега? При добавлении кода вызова описания &lt;?php...

Нужно сделать, чтобы значение атрибута тега отображался внутри этого тега
Как сделать чтобы html-код &lt;div class=&quot;item&quot;&gt;text&lt;/div&gt; отображался примерно вот так: del Изображения и любые другие файлы...

В чём отличие тега col от тега colgroup?
В чём отличие тега col от тега colgroup? colgroup осуждается в HTML5, col — рекомендуется. Теги абсолютно идентичны. colgroup позволяет...

Скрипт идентификации тега внутри другого тега
Всем привет! Помогити пожалуйста. Есть такая структура &lt;span class=&quot;sub-item&quot; &gt; &lt;a...

Получение ссылки из тега внутри другого тега
Есть текст такого вида (пример): &lt;div class=&quot;group_row_labeled&quot;&gt;&lt;a href=&quot;http://vk.com/baraholka&gt;&lt;b&gt;БАРАХОЛКА| РАБОТА...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Дальние перспективы сервера - слоя сети.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru