Может и глупый вопрос но все же.... На форумах когда пишешь сообщение тэги не в таких скобках <> а в квадратных [] ? Зачем так? [/i][/list][/list][/code][/css][/html][/sql][/php]
rkit а атрибуты если не только ты пользуешься формой надо обязательно проверять а то под видом картинки могут дать ссылку на скриптец а это уже XSS и соотвественно дыра в безопасности
затем, чтобы можно было без напряга отредактировать сообщение. Ну и плюс в том что хранится не "чистый" html. ну и то, что кроме , который будет заменяться скриптом как <img> - ничего лишнего никто не добавит. да еще и стили для каждого такого фрагмента можно использовать%)
Тоесть я сделаю кнопочки (img,url,b) Юзер ввел допустим: Код (Text): [img]http://user.ru/images.jpg[/img] Скрипт все это сохраняет, потом когда надо это вывести я пишу: Код (Text): $t = strtr($text,"[img]", "<img src=" "); $t = strtr($text,"[/img]", " "></img>"); echo $t; Тоесть получается Код (Text): [img]http://images.ru/images.jpg[/img] поменяется на <img src="http://images.ru/images.jpg"></img> Если сделать так: Код (Text): $t = strtr($text,"[img]", "<img>"); $t = strtr($text,"[/img]", "</img>"); echo $t; То нужно проверять атрибуты тэга. (кстать как проверить атрибуты тэга?) В первом случае получается не надо?[/code]
в первом случае сам в скрипте все делаешь, как тебе надо, во втором нужно подчищать за юзером, да и редактирование проблематичным становится. Я так за теги типа []
Код (Text): $text = preg_replace("#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#sie","'<img src=\'\\1'.str_replace(array('.php','?','&','='),'','\\3').'\\4\'>'",$text); (c) php-fusion