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

Отображение html-кодированного текста

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
FontCity
phpBB 1.2.1
Сообщения: 21
Стаж: 12 лет 11 месяцев
Благодарил (а): 6 раз

Отображение html-кодированного текста

Сообщение FontCity »

Здравствуйте!

Подскажите, пожалуйста, как мне сделать так, чтобы текст типа:

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

5 000 руб.
t÷18±2°С
© П.И. Чайковский (г. Клин)
άπόκρυφος
בראשית
Отображался где-то так:

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

5 000 руб.
t÷18±2°С
© П.И. Чайковский (г. Клин)
άπόκρυφος
בראשית
Буду очень признателен.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3335
Стаж: 15 лет
Благодарил (а): 35 раз
Поблагодарили: 1434 раза

Re: Отображение html-кодированного текста

Сообщение Nekstati »

HTML в сообщениях

Интересно, где ваши пользователи откапывают HTML-кодированный текст? Вроде Уникод на дворе.
FontCity
phpBB 1.2.1
Сообщения: 21
Стаж: 12 лет 11 месяцев
Благодарил (а): 6 раз

Re: Отображение html-кодированного текста

Сообщение FontCity »

Я про безопасность всё понимаю. Я же не говорю ни о никаких тэгах.
А html-кодирование ещё никто вроде как не отменял: http://saintist.ru/2010/02/15/tablica-html-kodov/
Я так полагаю, что phpbb на каком-то этапе меняет & на &
Это отключабельно?
FontCity
phpBB 1.2.1
Сообщения: 21
Стаж: 12 лет 11 месяцев
Благодарил (а): 6 раз

Re: Отображение html-кодированного текста

Сообщение FontCity »

html-кодирование, во-первых, позволяет внедрять в текст сообщения символы, которые невозможно набрать с клавиатуры:
http://www.michurin.com.ru/html-entity.shtml
http://www.dpva.info/Guide/GuideUnitsAl ... HTMLsigns/
http://www.amway-shop.ru/pages/page176.html

Во-вторых, в Сети таких текстов больше, чем до фига. Особенно раннехристианской литературы - тексты Нового Завета, апокрифы, сочинения "отцов". Я веду библейский форум, мне это нужно и важно.

В-третьих, это как раз один из допотопных элементов безопасности. Коды типа <script><&#047;script> браузеры должны не отрабатывать, а только отображать. IP.Board и Vbulletin так и делают. Проблема только в phpbb. Неужели в этом движке она не решается в принципе?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Отображение html-кодированного текста

Сообщение rxu »

5 000 руб.
t÷18±2°С
© П.И. Чайковский (г. Клин)
άπόκρυφος

Не понял, где проблема.
Изображение
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3335
Стаж: 15 лет
Благодарил (а): 35 раз
Поблагодарили: 1434 раза

Re: Отображение html-кодированного текста

Сообщение Nekstati »

FontCity, попробуйте так: найти в viewtopic.php

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

		'MESSAGE'			=> $message,
и заменить на

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

		'MESSAGE'			=> str_replace('&', '&', $message),
Но не знаю, какие могут быть побочные эффекты. Навскидку вроде проблем нет, HTML-тэги не проходят.
FontCity писал(а):html-кодирование, во-первых, позволяет внедрять в текст сообщения символы, которые невозможно набрать с клавиатуры
Для этого существует Таблица символов Windows (charmap.exe). В Ворде: меню Вставка → Символ.
FontCity писал(а): в Сети таких текстов больше, чем до фига.
Ctrl+C → Ctrl+V. При чём тут HTML-кодирование? С греческим, ивритом, китайским и др. живыми алфавитами никаких проблем нет. С церковнославянским простое копирование не пройдёт, т. к. тексты, насколько я вижу, лежат в сети в дичайших самодельных кодировках (видимо, их авторы не слыхали об Уникоде), но все необходимые буквы есть в Таблице символов.
FontCity писал(а):Коды типа <script><&#047;script> браузеры должны не отрабатывать, а только отображать. IP.Board и Vbulletin так и делают.
Не совсем верно. Символы типа &copy; &nbsp; < отображаются именно в таком виде на любом форуме. А вот символы типа &#1489; &#1512; Vbulletin и IPB действительно отображают как буквы.
FontCity
phpBB 1.2.1
Сообщения: 21
Стаж: 12 лет 11 месяцев
Благодарил (а): 6 раз

Re: Отображение html-кодированного текста

Сообщение FontCity »

Искренне благодарю г-на Nekstati. Похоже, я нашёл корень зла.
Файлики './adm/style/editor.js' и './styles/{стиль}/template/editor.js' содержат функцию 'addquote', которая и избавляется от лишних сущностей:

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

200	function addquote(post_id, username)
...
233			theSelection = divarea.innerHTML.replace(/<br>/ig, '\n');
234			theSelection = theSelection.replace(/<br\/>/ig, '\n');
235			theSelection = theSelection.replace(/&lt\;/ig, '<');
236			theSelection = theSelection.replace(/&gt\;/ig, '>');
237			theSelection = theSelection.replace(/&amp\;/ig, '&');
238			theSelection = theSelection.replace(/&nbsp\;/ig, ' ');
...
260	}
Этот код немного странен: оператор в строке 238 после выполнения предыдущего бессмысленен. Их хотя бы надо поменять местами. Это по крайней мере решит вопрос, который поднял Apache.

Но мой впрос шырше. Или ширее. Зачем в принципе нужны строи 237 и 238? Если я их закомментарю, это как-то нарушит безопасность моего форума?

И ещё один вопрос. Ни то, ни другое решение не влияют на предварительный просмотр. Я пробежался по 'functions_posting.php', 'message_parser.php', 'functions_display.php' и др., но каких-либо редакций htm-сущностей не обнаружил. Плохо искал?
Последний раз редактировалось Айдар 08.04.2011 17:45, всего редактировалось 1 раз.
Причина: Не игнорируйте BBocde [code]
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3335
Стаж: 15 лет
Благодарил (а): 35 раз
Поблагодарили: 1434 раза

Re: Отображение html-кодированного текста

Сообщение Nekstati »

FontCity, эта функция используется для мгновенной вставки цитаты на странице полной формы ответа (а также во вьютопике, если установлен мод быстрой цитаты). Когда текст копируется яваскриптом как innerHTML, он содержит HTML-сущности (типа &) вместо символов (&), поэтому данная функция их уничтожает, прежде чем вставить текст в окно ввода. Иначе текст исказится, а при многократном цитировании получится такое: &amp;amp;.
FontCity писал(а):оператор в строке 238 после выполнения предыдущего бессмысленен
Вполне осмысленен. Этот набор строк — аналог PHP-функции html_entity_decode(). http://www.php.su/functions/?html-entity-decode
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 15 лет
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 4 раза
Поблагодарили: 352 раза
Контактная информация:

Re: Отображение html-кодированного текста

Сообщение MIT »

Nekstati писал(а):Но не знаю, какие могут быть побочные эффекты. Навскидку вроде проблем нет, HTML-тэги не проходят.
Будут только проблемы с валидностью.
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 2 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 45 раз
Поблагодарили: 81 раз
Контактная информация:

Re: Отображение html-кодированного текста

Сообщение Борис Бердичевский »

маоцзэдунъиде́и
Подскажите, пожалуйста, что нужно исправить, чтобы это отображалось правильно, а не "е" и квадратик впридачу?
Введено в виде текста, а не кодов, начинающихся с '&'.
Только что обнаружил, что в части мест в форуме это отображается нормально. Например, в заголовке темы, а также в боксе Заголовок:
Последний раз редактировалось Борис Бердичевский 09.01.2013 12:02, всего редактировалось 3 раза.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 14 лет 6 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

Отображение html-кодированного текста

Сообщение МайскийЖук »

А где квадратик-то?
Любовь и боль, покой и бой я как любой несу с собой…
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 2 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 45 раз
Поблагодарили: 81 раз
Контактная информация:

Re: Отображение html-кодированного текста

Сообщение Борис Бердичевский »

МайскийЖук
здесь всё работает нормально, а у меня на форуме показывает е и затем квадратик. Это -- вместо е с ударением.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 2 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 45 раз
Поблагодарили: 81 раз
Контактная информация:

Re: Отображение html-кодированного текста

Сообщение Борис Бердичевский »

Ну, признавайтесь, -- что вы исправили на форуме Гуру, что у вас это показывает нормально! :)
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 14 лет 6 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

Отображение html-кодированного текста

Сообщение МайскийЖук »

Ну, вообще-то у меня на всех форумах такого рода символы тоже отображаются нормально, без квадратиков.
Любовь и боль, покой и бой я как любой несу с собой…
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 2 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 45 раз
Поблагодарили: 81 раз
Контактная информация:

Re: Отображение html-кодированного текста

Сообщение Борис Бердичевский »

У меня на форумах тут или там отображается неправильно. Например, в боксе для набора сообщения -- у меня неправильно, в заголовках (я взял свой другой форум для примера) -- правильно, и после записи сообщения -- тоже правильно.
На форуме Гуру -- везде правильно, без исключений!
Подскажите секрет, люди добрые!

Добавлено спустя 5 минут 14 секунд:
Вот как это выглядит:

Добавлено спустя 2 минуты 55 секунд:
Слово "правильно" на иллюстрации -- просто текст. На самом деле, текст во второй строчке неправильно выглядит.
Вложения
Иллюстрация
Иллюстрация
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Закрыто

Вернуться в «Поддержка phpBB 3.0.х»