Оставить только HTML

Статус
В этой теме нельзя размещать новые ответы.

Raccoon

Участник
Регистрация
31 Июл 2007
Сообщения
176
Реакции
9
Как оставить из пришедшего от юзера текста только html и js код, а php удалить?
 
пример в студию
 
а какой пример, обычное поле <textarea>, в него юзер вставляет html код и нажимает кнопку сохранить, такое часто используется при указании заглушки в баннерных сетях.
 
Нужно удалить все от <?php или <? до ?>
Функция str_pos в помощь.
Регулярка будет примерно такой (означает удалить все теги ПХП и содержимое между ними.)
preg_replace('/(<\?|<\?php).+\?>/isU',"",$txt);
 
или еще вариант через встроенный парсер php кода (tokenizer), где T_INLINE_HTML означает все кроме php кода

PHP:
// $code
foreach (token_get_all($code) as $token)
if($token[0]==T_INLINE_HTML) $res_code .= $token[1];
// $res_code;
 
strip_tags() как вариант.
 
strip_tags() как вариант.
И что ты собираешься перечислять там все возможные html-теги чтобы ненароком что-то не удалить? К тому же strip_tags() не проверяет корректность HTML кода, незавершенные тэги могу привести к удалению текста, не входящего в тэги. Для таких задач существуют регулярные выражения.
 
И что ты собираешься перечислять там все возможные html-теги чтобы ненароком что-то не удалить? К тому же strip_tags() не проверяет корректность HTML кода, незавершенные тэги могу привести к удалению текста, не входящего в тэги. Для таких задач существуют регулярные выражения.
Если HTML-код некорректен, то это не проблема инструментария, это раз.
Определять дозволенные теги - хорошая идея, это два.
 
Если HTML-код некорректен, то это не проблема инструментария, это раз.
Определять дозволенные теги - хорошая идея, это два.
1) Это проблема не инструментария, а разработчика. В рамках поставленной ТС задачи это значение не имеет, но раз ты предлагаешь вариант с strip_tags, ты должен учитывать все возможные последствия. Иначе твой совет просто вреден.
2) И как же ты будешь их определять, раскрой секрет? будешь перечислять все возможные и невозможные варианты?
 
1) Это проблема не инструментария, а разработчика. В рамках поставленной ТС задачи это значение не имеет, но раз ты предлагаешь вариант с strip_tags, ты должен учитывать все возможные последствия. Иначе твой совет просто вреден.
2) И как же ты будешь их определять, раскрой секрет? будешь перечислять все возможные и невозможные варианты?
1) Программист не может предугадать все возможные входящие данные, особенно если это rich-text. Ты мыслишь исходя из поставленной задачи и не смотришь в даль - это для программиста фатально.
2) Немыслимых вариантов не должно быть, все должно быть жестко декларировано.

P. S. С ветряной мельницей воюешь, честное пионерское.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху