parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

StopDesign 23.07.2008 16:34 / 23.07.2008 16:38

дык с какого перепугу при помещении в БД "грязных" '<' и '>' они будут преобразованы в html сущности?
Не знаю даже... Но в базу попадает вот это:
&lt;hr&gt;<br/><b>WOW!</b><br/><img src="asdfsd"><br/><em>something&gt;
Все нужные теги остались тегами, все ненужные - преобразованы. Я думал, всё, что попадает в запрос к БД, помечается как sql...

Сначала как раз и попробовал красить разрешенные теги as-is. Ничего не получилось, почему-то... Сейчас еще раз попробую. Согласен, что так лучше.

Заработало так:
$str[^taint[html][$str]]
# перенос строки в <br/>
$str[^str.match[\n][g]{<br/>}]
# оставить только разрешенные тэги
$new[^str.match[(
	<\/?p>|
	<\/?i>|
	<\/?b>|
	<\/?u>|
	<\/?strong>|
	<\/?em>|
	<\/?sub>|
	<\/?sup>|
	<br\s?\/?>|
	<a\s+[^^><]*?>|
	<img\s+[^^><]*?>|
	^$)][gx]{^taint[as-is][$match.1]}]

$new