Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Фильтр для html тегов
 
 автор: Импекс   (28.09.2010 в 11:32)   письмо автору
 
 

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


Есть texarea, куда пользователи могут писать что угодно. Какой алгоритм дейсвий по фильтрации функцией htmlspechialchars, если нужно пропускать ссылки по отпределенному формату <a href="" onclick="f(число)">число</a>

Спасибо!

  Ответить  
 
 автор: sim5   (28.09.2010 в 11:41)   письмо автору
 
   для: Импекс   (28.09.2010 в 11:32)
 

ВВ-код.

  Ответить  
 
 автор: Импекс   (28.09.2010 в 11:57)   письмо автору
 
   для: sim5   (28.09.2010 в 11:41)
 

у меня не бб код, а ссылка, Как нибудь так может?


$mes = '<b>привет!! <img src="http://site.ru/fgd/ЧИСЛО"> cgfcv <a> ythjg</a></b>';

// экранируем
$mes = htmlspecialchars($mes);

// Заменяем на допустимы тег
// как то так ))
$msg = preg_replace('&lt;img src=&quot;http://site.ru/fgd/ЧИСЛО&quot;&gt;', '<img src="http://site.ru/fgd/ЧИСЛО">',$msg);

// Результат
echo $msg

  Ответить  
 
 автор: sim5   (28.09.2010 в 12:02)   письмо автору
 
   для: Импекс   (28.09.2010 в 11:57)
 

Охота тра.... на здоровье.

  Ответить  
 
 автор: Импекс   (28.09.2010 в 12:14)   письмо автору
 
   для: sim5   (28.09.2010 в 12:02)
 

а еще вариант, сначала преобразуем к Bb коду, экранируем, затем обратно)) Ну вопрос существует), а архитектура не моя)

  Ответить  
 
 автор: Slo_Nik   (28.09.2010 в 12:47)   письмо автору
 
   для: Импекс   (28.09.2010 в 12:14)
 

Возьмите как пример этот форум. При добавлении ссылки Вы используете url в квадратных скобках, но когда выводится сообщение, то ссылка работает. На каком то этапе эти теги в квадратных скобках преобразуются в нормальные html теги и всё.
Если Вы храните в базе свои ссылки, то пусть они там и хранятся с этими тегами, а при выводе из базы преобразуйте в нормальные теги.
возможно вот так

<?php 
$news
['name'] = preg_replace("|\[url\][\s]*([\S]*)[/s]*\[/url\]|isU""<a href='\\1' target='_blank'>\\1</a>"$news['name']);
?>

  Ответить  
 
 автор: Импекс   (28.09.2010 в 14:18)   письмо автору
 
   для: Slo_Nik   (28.09.2010 в 12:47)
 

Спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования