Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Передать в переменную текст поста из базы

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 3 месяца
Благодарил (а): 283 раза
Поблагодарили: 65 раз

Передать в переменную текст поста из базы

Сообщение Vlad__ »

Напомните как сделать?
Нужно передать переменной из базы только текст поста. Без ббкодов и содержимого, смайликов и т.д.
Только текст.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Передать в переменную текст поста из базы

Сообщение Татьяна5 »

В function_content.php есть

Код: Выделить всё

/**
* Strips all bbcode from a text in place
*/
function strip_bbcode(&$text, $uid = '')
Отправлено спустя 1 минуту 32 секунды:
Для смайлов можно взять регулярки из smiley_text оттуда же
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 7 месяцев
Откуда: Израиль
Благодарил (а): 85 раз
Поблагодарили: 305 раз
Контактная информация:

Re: Передать в переменную текст поста из базы

Сообщение Алг »

Ок, а как передать текст из базы, но с бб-кодами и смайликами
Получить этот текст и через ajax передать на клиент, заменив содержание div.content
я воспользовалась функцией

Код: Выделить всё

generate_text_for_display($post_text, $bbcode_uid, $bbcode_bitfield, 7) ;
, где post_text, bbcode_uid, bbcode_bitfield взяты из базы
В результате смайлы и бб-коды не сохраняются
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Передать в переменную текст поста из базы

Сообщение rxu »

Должно так работать. А какой конкретно код?
Изображение
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 7 месяцев
Откуда: Израиль
Благодарил (а): 85 раз
Поблагодарили: 305 раз
Контактная информация:

Re: Передать в переменную текст поста из базы

Сообщение Алг »

Новая версия addonforthanksforposts в репо. Сделала для совместимости с [hide]BBCODE.
функция isChangeText в thanks_ajax_handler.php
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Передать в переменную текст поста из базы

Сообщение rxu »

Попробовал на тестовом, исходное сообщение

Код: Выделить всё

[hide]asasasasaas[/hide]  :)  8-) 

[b]trtrtrtrtrtrt[/b]


👨
на выходе получается код

Код: Выделить всё

<dl class="hidebox hb_unhide"><dt>HIDEBB_MESSAGE_UNHIDE</dt><dd>asasasasaas</dd></dl>  <img class="smilies" src="./images/smilies/icon_e_smile.gif" width="15" height="17" alt=":)" title="Smile">  <img class="smilies" src="./images/smilies/icon_cool.gif" width="15" height="17" alt="8-)" title="Cool"> <br>
<br>
<strong class="text-strong">trtrtrtrtrtrt</strong><br>
<br>
<br>
<img alt="👨" class="emoji smilies" draggable="false" src="//twemoji.maxcdn.com/2/svg/1f468.svg">

Вроде бы всё так?

Отправлено спустя 4 минуты 7 секунд:
В новом парсере uid/id ббкодов вообще не используется, могут быть проблемы только если сообщения еще в старом формате в БД.
Изображение
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 7 месяцев
Откуда: Израиль
Благодарил (а): 85 раз
Поблагодарили: 305 раз
Контактная информация:

Re: Передать в переменную текст поста из базы

Сообщение Алг »

С бб-кодами я, пожалуй, погорячилась, но со смайлами таки проблема
Исходный пост
Изображение
Замененный пост
Изображение
обратите внимание гиф-иконки отдаёт не как gif в первом случае, а как text/html и со статусом 404
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Передать в переменную текст поста из базы

Сообщение rxu »

Алг писал(а): 08.05.2020 21:48 text/html и со статусом 404
А что в при этом в БД и в исходнике страницы?
Изображение
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 7 месяцев
Откуда: Израиль
Благодарил (а): 85 раз
Поблагодарили: 305 раз
Контактная информация:

Re: Передать в переменную текст поста из базы

Сообщение Алг »

в БД

Код: Выделить всё

<r>Не скрытый <U><s>[u]</s>текст<e>[/u]</e></U> с <STRIKE><s>[strike]</s>бб-кодами<e>[/strike]</e></STRIKE>  <B><s>[b]</s><SIZE size="150"><s>[size=150]</s><COLOR color="#0000FF"><s>[color=#0000FF]</s>и смайлами<e>[/color]</e></COLOR><e>[/size]</e></SIZE><e>[/b]</e></B><br/>
<br/>
<SIZE size="85"><s>[size=85]</s><COLOR color="green"><s>[color=green]</s>Отправлено спустя     7 минут 6 секунд:<e>[/color]</e></COLOR><e>[/size]</e></SIZE><br/>
Первый скрытый <br/>
<HIDE><s>[hide]</s>с <B><s>[b]</s><I><s>[i]</s><U><s>[u]</s>ббкодами<e>[/u]</e></U><e>[/i]</e></I><e>[/b]</e></B><e>[/hide]</e></HIDE><br/>
второй скрытый<br/>
<HIDE><s>[hide]</s>со смайлами <E>:D</E>  <E>:zloy:</E> <e>[/hide]</e></HIDE></r>
в исходнике страницы
screen4.png
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Передать в переменную текст поста из базы

Сообщение rxu »

Воспроизвел.

Аналогичная проблема была в аддоне и с основным расширением. Путь phpbb_root_path ./ после отработки аякса превращается в ./../../../../../. Там это решилось, так как этот путь задавался явно и я его поправил. Здесь надо подумать над решением.
unhide.png
Отправлено спустя 31 минуту 22 секунды:
Разобрался. PR в репо. Основное изменение - в слушателе.
Изображение
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 7 месяцев
Откуда: Израиль
Благодарил (а): 85 раз
Поблагодарили: 305 раз
Контактная информация:

Re: Передать в переменную текст поста из базы

Сообщение Алг »

Спасибо, отлично работает!!!
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Ответить

Вернуться в «Для разработчиков»