Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (4) [1] 2 3 ... Последняя » ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Экранирование некоторых HTML тегов
Arh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2280
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 20 дней
Карма: 74




Как на форуме работает добавление ссылок и картинок и видео и прочего, но при этом если просто написать <img src=""> то выводиться код, вместо картинки?

В базу пишется не отформатированные данные или в базу пишется данные обработанные htmlspecialchars?

Или тут дело в bbcode
Сначала данные обрабатываются htmlspecialchars, а потом регуляркой обрабатываются bb теги, а потом пишется в базу?


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
апр  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









В базу следует писать как ввели текст, вдруг потом бб-коды сменятся, придется перелопачивать всю базу.
Выводить - сначала htmlspecialchars, а потом уже преобразование бб-кодов в html.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Winston  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 9509
Пользователь №: 18161
На форуме: 7 лет, 8 месяцев, 29 дней
Карма: 552




Цитата (Arh @ 7.11.2014 - 18:02)
Как на форуме работает добавление ссылок и картинок и видео и прочего, но при этом если просто написать <img src=""> то выводиться код, вместо картинки?

Все просто, работает, примерно по такому принципу:
$text = htmlspecialchars($text);
$text = process_BBcode($text);
echo $text;
Цитата (Arh @ 7.11.2014 - 18:02)
В базу пишется не отформатированные данные или в базу пишется данные обработанные htmlspecialchars?

В базу пишется необработанный текст
Цитата (Arh @ 7.11.2014 - 18:02)
Сначала данные обрабатываются htmlspecialchars, а потом регуляркой обрабатываются bb теги, а потом пишется в базу?

В базе все должно быть в таком виде, в котором его отправили пользователи, вся остальная обработка должна происходить при выводе. ИМХО.

Вот к примеру ты написал пост, добавил в его какие-то теги, отправил в базу. И при редактировании поста тебе отображается все также как ты и написал, а вот если бы перед добавлением в базу бб-теги были преобразованы в html, то при редактировании их нужно было бы обратно преобразовывать... бред же? бред :) ИМХО.
PMСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2280
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 20 дней
Карма: 74




Спасибо, я так и предполагал =)

По поводу process_BBcode(), писать свой лисапед или уже есть что то взятое за стандарт?


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2280
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 20 дней
Карма: 74




Нашел какуюто php функцию
http://php.net/manual/ru/book.bbcode.php
Дома почитаю, тема закрыта)


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Winston  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 9509
Пользователь №: 18161
На форуме: 7 лет, 8 месяцев, 29 дней
Карма: 552




Когда-то был конкурс по написанию bb-cycle biggrin.gif http://phpforum.su/index.php?act=Search&CO...%EA%EE%E4%E5%F0
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11859
Пользователь №: 23195
На форуме: 6 лет, 7 месяцев, 29 дней
Карма: 433

Трезвый :
7 лет, 6 месяцев, 29 дней


это не функции ядра, а PECL-расширение


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2280
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 20 дней
Карма: 74




Invis1ble
Winston

хм, посмотрел конкурсы, где там победитель и его идеальный парсер?)

Может лучше парсить на клиенте с помощью js, наверняка какие нибудь библиотеки есть, те же визивиги как то обрабатывают свои коды wysibb например. Хотя с другой стороны, лучше один раз распарсить да закешировать.


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2280
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 20 дней
Карма: 74




апр
но в базу то сохранять с bb кодами?


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15225
Пользователь №: 4190
На форуме: 9 лет, 1 месяц, 16 дней
Карма: 457




Цитата (Arh @ 7.11.2014 - 22:43)
но в базу то сохранять с bb кодами?

Естественно. Иначе ты потом ничего не восстановишь. Тебе ж сказали уже:
Цитата (Winston @ 7.11.2014 - 19:35)
В базе все должно быть в таком виде, в котором его отправили пользователи, вся остальная обработка должна происходить при выводе. ИМХО

ППКС smile.gif

Цитата (Arh @ 7.11.2014 - 22:38)
Может лучше парсить на клиенте с помощью js,

Если ты восстанавливаешь код с ББ-кодами, взятый из БД, то лучше всё сделать на сервере.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2280
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 20 дней
Карма: 74




sergeiss
Цитата
Естественно. Иначе ты потом ничего не восстановишь. Тебе ж сказали уже:


Не, мне сказали что bb коды могут поменяться, типа сохранять в базу в html, а потом от туда вырезать всё кроме нужных html тегов


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Winston  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 9509
Пользователь №: 18161
На форуме: 7 лет, 8 месяцев, 29 дней
Карма: 552




Цитата (Arh @ 7.11.2014 - 20:38)
хм, посмотрел конкурсы, где там победитель и его идеальный парсер?)

По корректности работы победил этот http://phpforum.su/index.php?showtopic=31503



Спустя 55 секунд Winston написал(а):
Цитата (Arh @ 7.11.2014 - 20:58)
Не, мне сказали что bb коды могут поменяться, типа сохранять в базу в html, а потом от туда вырезать всё кроме нужных html тегов

Кто тебе такое сказал? blink.gif
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2280
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 20 дней
Карма: 74




sergeiss
я использую ckeditor, он по умолчанию всё в html делает, может реально проще вырезать всё кроме нужного? как бы применять выборочный htmspecialchars , вопрос как?


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2280
Пользователь №: 27172
На форуме: 5 лет, 11 месяцев, 20 дней
Карма: 74




Winston

ваше =)
Цитата
В базу следует писать как ввели текст, вдруг потом бб-коды сменятся, придется перелопачивать всю базу.


ну типа было [b][/b] а потом вдруг стало [strong][/strong]


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Winston  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 9509
Пользователь №: 18161
На форуме: 7 лет, 8 месяцев, 29 дней
Карма: 552




Цитата (Arh @ 7.11.2014 - 21:04)
ваше =)

Не, не мое smile.gif
Цитата (Arh @ 7.11.2014 - 21:04)
ну типа было [b][/b] а потом вдруг стало [strong][/strong]

Ну в таком случае нужно будет решать, либо делать обратную совместимость, либо как написали перелопачивать базу.
Ну и я слабо себе представляю ситуацию, что могут смениться теги... ладно новые иногда появляются, но существующие изменяются... если такое и бывает то ооочень редко.
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (4) [1] 2 3 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса