Автор Тема: Как можно разрешить в тексте определённые теги а все остальные урезать?  (Прочитано 4885 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Nikman

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 77
  • +0/-0
  • 0
    • Просмотр профиля
Как можно разрешить в тексте определённые хтмл теги а все остальные урезать?

Оффлайн xnx

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 192
  • +0/-0
  • 0
    • Просмотр профиля

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Но надо внимательно читать комментарии к этой функции.
поскольку кроме вредных тегов могут быть еще и вредные параметры

Оффлайн Nikman

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 77
  • +0/-0
  • 0
    • Просмотр профиля

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
ИМХО лучше сделать bbcode, потому что действительно могут написать
Цитировать
RomikChef:
вредные параметры
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
троникс, я думаю, что можно еще написать несложный рег, если разрешены односложные теги.
например i b u
только никак не могу этот рег сообразить :-)

а вообще, лучше всего сделано на икспойнте.
*слово* - это жирный шрифт, _слово_ - италик
гораздо юзабельнее.
а остальное - все лишнее

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
Цитировать
RomikChef:
гораздо юзабельнее.

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

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

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

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

$text=preg_replace(\'/<([^>]*[^\'.$tags.\'][^>]*)?>/i\', \'<\\\\\\\\1>\', $text);
« Последнее редактирование: 06 Августа 2003, 13:37:54 от Tronyx »
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн pahal

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 126
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
а не проще ли вместо этого :
$text=preg_replace(\'/<([^>]*[^\'.$tags.\'][^>]*)?>/i\', \'<\\\\1>\', $text);
зделать только:
$text=eregi_replace("<", "<", $text);
$text=eregi_replace(">", ">", $text);

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
во-первых, применять регулярные выражения там, где нужна всего лишь строковая замена - нерационально.
во-вторых, ты не понял вопроса.

Оффлайн nobody

  • вроде как одушевленный
  • Постоялец
  • ***
  • Сообщений: 218
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.n0b0dy.ru
Народ все равно нужно проверять все что полученно от пользователя, даже когда разрешенны односложные теги
.::dO_ob::.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
ПРОВЕРКУ я в твоем коде не увидел.
РАЗРЕШЕНИЕ хоть каких-то тегов- тоже.

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

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28