Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 611
от 16.03.2007, 00:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 409, Экспертов: 46
В номере:Вопросов: 1, Ответов: 2


Вопрос № 77738: В копании мануала нашел 2 функции: string htmlspecialchars ( string string [, int quote_style [, string charset]] ) string htmlentities ( string string [, int quote_style [, string charset]] ) Цитата: "Эта функция идентична ...

Вопрос № 77.738
В копании мануала нашел 2 функции:
string htmlspecialchars ( string string [, int quote_style [, string charset]] )
string htmlentities ( string string [, int quote_style [, string charset]] )

Цитата:
"Эта функция идентична htmlspecialchars() за исключением того, что htmlentities() преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют). "

Вопросы:
1) что есть "соответствющие HTML сущности"
2) объясните популярно в чем отличие их применения
3) какую функцию лучше использовать при написании форума
Отправлен: 10.03.2007, 11:36
Вопрос задал: Александр (Akylenok[eXZ]) (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, Александр (Akylenok[eXZ])!
Html-сущности - это специальные комбинации символов, воспринимаемые как один визуальный символ. Например, если вывести строку "<b>hello</b>" в "чистом" виде, т.е. как есть, то теги исчезнут, а мы увидим hello. Но что делать, если нужно, чтобы на экране появились именно теги? В этом случае нужно служебные символы (в данном случае скобки < и >) заменить на их сущности. Так, левой скобке < соответствует сущность &lt;, а правой > - &gt; Т.е. чтобы увидеть на экране строку с самим тегами, нужно написать "&lt;b&gt;hello&lt;/b&gt;". Функции htmlspecialchars() и htmlentites() как раз выполняют такие преобразования. Html-сущности есть для многих символов - не только для вышеуказанных, - ещё изменениям подвергаются кавычки, амперсанд, а также нестандартные символы (например, символ "евро", значок копирайта и т.п.)
Различий между этими функциями особо нет, просто у второй база замен вроде как побольше. В основном используется первая. Её и рекомендую использовать.
Желаю удачи!
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на Delphi. Всё для программиста. Файловый архив, статьи, помощь, советы, обмен опытом.
ICQ: 286867644
----
Ответ отправлен: 10.03.2007, 11:56
Оценка за ответ: 5
Комментарий оценки:
Спасибо за хороший ответ.
Если будут какие дополнения - допишите в минифорум.
Огромное спасиба.

Отвечает: Mamanton
Здравствуйте, Александр (Akylenok[eXZ])!
1. HTML сущности - это мнемоники, т.е.   - html сущность для пробела (грубо говоря если вам в HTML понадобился пробел можете вставить эту мнемонику). <- открывающая кавычка и т.д. Подробнее смотри здесь http://www.mexxs.net/reviews.php?cat=5&rid=39
2. htmlspecialchars - "обрезанная" версия htmlentities. htmlspecialchars переводит только некоторые мнемоники
'&' (амперсанд) преобразуется в '&'
'"' (двойная кавычка) преобразуется в '"' when ENT_NOQUOTES is not set.
''' (одиночная кавычка) преобразуется в ''' только в режиме ENT_QUOTES.
'<' (знак "меньше чем") преобразуется в '<'
'>' (знак "больше чем") преобразуется в '>'
htmlentities - переводит все которые возможно
3. На вкус и цвет товарища нет. Мне например было достаточно всегда htmlspecialchars

Ответ отправил: Mamanton (статус: 1-ый класс)
Ответ отправлен: 10.03.2007, 13:49
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.45 beta от 20.02.2007
Яндекс Rambler's Top100

В избранное