Forum Webscript.Ru

Программирование => PHP => Тема начата: Nikman от 06 Августа 2003, 10:04:43

Название: Как можно разрешить в тексте определённые теги а все остальные урезать?
Отправлено: Nikman от 06 Августа 2003, 10:04:43
Как можно разрешить в тексте определённые хтмл теги а все остальные урезать?
Название: Как можно разрешить в тексте определённые теги а все остальные урезать?
Отправлено: xnx от 06 Августа 2003, 10:22:00
strip_tags
Название: Как можно разрешить в тексте определённые теги а все остальные урезать?
Отправлено: Меняздесьдавнонет от 06 Августа 2003, 10:54:24
Но надо внимательно читать комментарии к этой функции.
поскольку кроме вредных тегов могут быть еще и вредные параметры
Название: Как можно разрешить в тексте определённые теги а все остальные урезать?
Отправлено: Nikman от 06 Августа 2003, 11:09:09
Спасибо :)
Название: Как можно разрешить в тексте определённые теги а все остальные урезать?
Отправлено: Tronyx от 06 Августа 2003, 11:29:40
ИМХО лучше сделать bbcode, потому что действительно могут написать
Цитировать
RomikChef:
вредные параметры
Название: Как можно разрешить в тексте определённые теги а все остальные урезать?
Отправлено: Меняздесьдавнонет от 06 Августа 2003, 11:55:20
троникс, я думаю, что можно еще написать несложный рег, если разрешены односложные теги.
например i b u
только никак не могу этот рег сообразить :-)

а вообще, лучше всего сделано на икспойнте.
*слово* - это жирный шрифт, _слово_ - италик
гораздо юзабельнее.
а остальное - все лишнее
Название: Как можно разрешить в тексте определённые теги а все остальные урезать?
Отправлено: Tronyx от 06 Августа 2003, 13:29:40
Цитировать
RomikChef:
гораздо юзабельнее.

Почему? Мне наоборот больше bbcode нравится, вроде как привычней, на многих форумах используется... очень часто когда заходишь на новый форум не приходится учить новый вид разметки, а используешь старый добрый bbcode.

Цитировать
RomikChef:
только никак не могу этот рег сообразить :-)

Не проверял, но должно работать (запрещает лубые теги кроме заданых и все теги с аргументами)

$tags=\'b|i|u\';

$text=preg_replace(\'/<([^>]*[^\'.$tags.\'][^>]*)?>/i\', \'<\\\\\\\\1>\', $text);
Название: Как можно разрешить в тексте определённые теги а все остальные урезать?
Отправлено: pahal от 08 Августа 2003, 17:59:05
а не проще ли вместо этого :
$text=preg_replace(\'/<([^>]*[^\'.$tags.\'][^>]*)?>/i\', \'<\\\\1>\', $text);
зделать только:
$text=eregi_replace("<", "<", $text);
$text=eregi_replace(">", ">", $text);
Название: Как можно разрешить в тексте определённые теги а все остальные урезать?
Отправлено: Меняздесьдавнонет от 08 Августа 2003, 18:32:50
во-первых, применять регулярные выражения там, где нужна всего лишь строковая замена - нерационально.
во-вторых, ты не понял вопроса.
Название: Как можно разрешить в тексте определённые теги а все остальные урезать?
Отправлено: nobody от 10 Августа 2003, 08:01:15
Народ все равно нужно проверять все что полученно от пользователя, даже когда разрешенны односложные теги
Название: Как можно разрешить в тексте определённые теги а все остальные урезать?
Отправлено: Меняздесьдавнонет от 10 Августа 2003, 10:52:47
ПРОВЕРКУ я в твоем коде не увидел.
РАЗРЕШЕНИЕ хоть каких-то тегов- тоже.

Головой будем учиться думать? А читать?