22.06.2018, 04:20 [+3 UTC]
в нашей команде: 2 853 чел. | участники онлайн: 0 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.47 (16.04.2018)

Общие новости:
13.04.2018, 10:33

Форум:
18.06.2018, 08:55

Последний вопрос:
21.06.2018, 15:40

Последний ответ:
21.06.2018, 06:26

Последняя рассылка:
22.06.2018, 00:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
12.08.2010, 11:31 »
Гуревич Александр Львович
Спасибо за помощь! [вопрос № 179705, ответ № 262786]
19.09.2010, 12:13 »
Anjali
Спасибо за подробные разъяснения! [вопрос № 179956, ответ № 263099]
18.02.2010, 23:12 »
Мироненко Николай Николаевич
Спасибо большое, попробую smile [вопрос № 176769, ответ № 259569]

РАЗДЕЛ • PHP / Perl / Python

Создание программ на языках PHP, Perl и Python.

[администратор рассылки: Коцюрбенко Алексей aka Жерар (Мастер-Эксперт)]

Лучшие эксперты в этом разделе

Асмик Гаряка
Статус: Советник
Рейтинг: 34
Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 0
Хватов Сергей
Статус: Академик
Рейтинг: 0

Перейти к консультации №:
 

Консультация онлайн # 63930
Раздел: • PHP / Perl / Python
Автор вопроса: Nook
Отправлена: 23.11.2006, 21:29
Поступило ответов: 2

Здраствуйте уважаемые эксперты.
Надо организовать сл. скритп. Вообщем есть форма для ввода новостей, данные после ввода обрабатываются stripslashes(), т.е. как пишу <b>Test</b>, он мне так при выборке и выдаёт жирную надпись (Test), но мне надо ввести ещё и html код, который бы так и отоброжался в виде кода, допустим пишу

<b>Test</b>
, после выборки мне должно выводиться (<b>Test</b>), пытался использовать explode, как только не писал, не чего не выходит. Подскажите как такое сделать, сразу в Бд записывать данные внутри применяя htmlspecialchars(), только как? Или записывать в Бд без htmlspecialchars(), только с добавлением слешей, но при выборке как заставить <b>Test</b>, так и отоброзиться - (<b>Test</b>)?
Надеюсь на помощь.

Состояние: Консультация закрыта

Здравствуйте, Nook!
echo htmlspecialchars("TEST");
выведет <B>TEST</B> , а бровзер отобразит TEST


Консультировал: PVS
Дата отправки: 24.11.2006, 10:04

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 128710 от HookEst

Здравствуйте, Nook!
<pre>
Попробуйте так:

$texttosave=preg_replace_callback('|(\[code\])(.*?)(\[\/code\])|im'
,create_function('$m','return htmlspecialchars($m[2]);'),$source);

Здесь все подстроки $source заключеные в

обрабатываются htmlspecialchars(), остальной текст остается без изменений, результат $texttosave и сохраняйте в БД(не забудьте addslashes, или mysql_escape_string), при выводе обработки не требуется.
Проверку на корректность текста и безопасность тегов сделайте сами.
Успехов.
</pre>


Консультировал: HookEst
Дата отправки: 27.11.2006, 13:07

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 63930

Посетитель

ID: 17410

# 1

= общий = | 27.11.2006, 09:42 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

В БД пишите как есть, а при отображении добавляйте htmlspecialchars


Посетитель

ID: 22917

# 2

= общий = | 28.11.2006, 04:17 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Спешу исправиться. Пишу в рабочее время отсюда и ошибки. Вне символьного класса символ точка соответствует любому (в том числе и непечатному, бинарному) символу, КРОМЕ символа перевода строки '\n', поэтому в рег. выражении надо использовать модификатор s (PCRE_DOTALL) $texttoout=preg_replace_callback('|(\[code\])(.*?)(\[\/code\])|ims' ,create_function('$m','return htmlspecialchars($m[2]);'),$source); И, наверное, удобнее будет хранить техт как есть, чтобы оставить возможность редактирования, а обрабатывать

при выводе на страницу.

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13450 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.47 от 16.04.2018