Forum Webscript.Ru
Программирование => PHP => Тема начата: Nikman от 06 Августа 2003, 10:04:43
-
Как можно разрешить в тексте определённые хтмл теги а все остальные урезать?
-
strip_tags
-
Но надо внимательно читать комментарии к этой функции.
поскольку кроме вредных тегов могут быть еще и вредные параметры
-
Спасибо :)
-
ИМХО лучше сделать bbcode, потому что действительно могут написать
RomikChef:
вредные параметры
-
троникс, я думаю, что можно еще написать несложный рег, если разрешены односложные теги.
например i b u
только никак не могу этот рег сообразить :-)
а вообще, лучше всего сделано на икспойнте.
*слово* - это жирный шрифт, _слово_ - италик
гораздо юзабельнее.
а остальное - все лишнее
-
RomikChef:
гораздо юзабельнее.
Почему? Мне наоборот больше bbcode нравится, вроде как привычней, на многих форумах используется... очень часто когда заходишь на новый форум не приходится учить новый вид разметки, а используешь старый добрый bbcode.
RomikChef:
только никак не могу этот рег сообразить :-)
Не проверял, но должно работать (запрещает лубые теги кроме заданых и все теги с аргументами)
$tags=\'b|i|u\';
$text=preg_replace(\'/<([^>]*[^\'.$tags.\'][^>]*)?>/i\', \'<\\\\\\\\1>\', $text);
-
а не проще ли вместо этого :
$text=preg_replace(\'/<([^>]*[^\'.$tags.\'][^>]*)?>/i\', \'<\\\\1>\', $text);
зделать только:
$text=eregi_replace("<", "<", $text);
$text=eregi_replace(">", ">", $text);
-
во-первых, применять регулярные выражения там, где нужна всего лишь строковая замена - нерационально.
во-вторых, ты не понял вопроса.
-
Народ все равно нужно проверять все что полученно от пользователя, даже когда разрешенны односложные теги
-
ПРОВЕРКУ я в твоем коде не увидел.
РАЗРЕШЕНИЕ хоть каких-то тегов- тоже.
Головой будем учиться думать? А читать?