Описание: Подскажите пжлста как в тексте кот. пользователь вводит в форме в гостевой, заменить введенные им тэги на безопасные символы? |
Поиск в теме | Версия для печати |
Ray Wen |
Отправлено: 06 Августа, 2005 - 10:53:38
|
Собиратель шишек...
Покинул форум
Сообщений всего: 2602
Дата рег-ции: Янв. 2005
Откуда: Волгоград
Карма 21
|
CODE:function code($val) {
$val = str_replace( " " , ' ' , $val );
$val = str_replace( "&" , '&' , $val );
$val = str_replace( "<!--" , '<!--' , $val );
$val = str_replace( "-->" , '-->' , $val );
$val = preg_replace( "/<script/i" , '<script' , $val );
$val = str_replace( ">" , '>' , $val );
$val = str_replace( "<" , '<' , $val );
$val = str_replace( "\"" , '"' , $val );
$val = preg_replace( "/\\\$/" , '$' , $val );
$val = preg_replace( "/\r/" , '' , $val );
return $val;
} Примерно так на этом форуме. |
|
|
Ray Wen |
Отправлено: 06 Августа, 2005 - 10:55:59
|
Собиратель шишек...
Покинул форум
Сообщений всего: 2602
Дата рег-ции: Янв. 2005
Откуда: Волгоград
Карма 21
|
Вот блин... не хочет рисовать как есть...
[pre]function code($val) {
$val = str_replace( " " , ' ' , $val );
$val = str_replace( "&" , '&' , $val );
$val = str_replace( "<!--" , '<!--' , $val );
$val = str_replace( "-->" , '-->' , $val );
$val = preg_replace( "/<script/i" , '<script' , $val );
$val = str_replace( ">" , '>' , $val );
$val = str_replace( "<" , '<' , $val );
$val = str_replace( "\"" , '"' , $val );
$val = preg_replace( "/\\\$/" , '$' , $val );
$val = preg_replace( "/\r/" , '' , $val );
return $val;
}[/pre]
Ну хоть частично... в исходном коде должно быть все нормально... |
|
|
TvoyWeb |
Отправлено: 07 Августа, 2005 - 16:52:42
|
Главный здесь
Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003
Откуда: Tashkent Uz
Карма 52
|
Выдержка из мануала PHP
CODE:htmlspecialchars
(PHP 3, PHP 4 , PHP 5)
htmlspecialchars -- Преобразует специальные символы в HTML сущности
Описание
string htmlspecialchars ( string string [, int quote_style [, string charset]])
В HTML некоторые символы имеют специальное значение и для сохранения своего значения должны быть преобразованы в HTML сущности. Эта функция возвращает строку, над которой проведены некоторые из таких преобразований. Этих преобразований достаточно для большинства задач веб-программирования. Если вам нужно преобразовать все возможные сущности, используйте htmlentities().
Эта функция полезна при отображении данных, введенных пользователем, которые могут содержать нежелательные HTML тэги, например в форуме или гостевой книге. Необязательный второй аргумент quote_style определяет режим обработки одиночных и двойных кавычек. В режиме по умолчанию, ENT_COMPAT, преобразуются двойные кавычки, одиночные остаются без изменений. В режиме ENT_QUOTES преобразуются и двойные, и одиночные кавычки. а в режиме ENT_NOQUOTES и двойные, и одиночные кавычки остаются без изменений.
Производятся следующие преобразования:
'&' (амперсанд) преобразуется в '&'
'"' (двойная кавычка) преобразуется в '"' when ENT_NOQUOTES is not set.
''' (одиночная кавычка) преобразуется в ''' только в режиме ENT_QUOTES.
'<' (знак "меньше чем") преобразуется в '<'
'>' (знак "больше чем") преобразуется в '>'
Пример 1. Пример использования htmlspecialchars()
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
?>
Как видно из мануала эта функция поддерживается начиная с третьей версии пхп. Есть еще функция
CODE:htmlentities
(PHP 3, PHP 4 , PHP 5)
htmlentities -- Преобразует символы в соответствующие HTML сущности.
Описание
string htmlentities ( string string [, int quote_style [, string charset]])
Эта функция идентична htmlspecialchars() за исключением того, что htmlentities() преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют).
|
|
|
|
Поиск в теме | Версия для печати |
Страниц (1): [1] |
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0, скрытых: 0) |
« PHP/Perl » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|