Forum Webscript.Ru

Программирование => PHP => Тема начата: Vas от 24 Августа 2004, 23:39:01

Название: Проблема с функцией strip_tags
Отправлено: Vas от 24 Августа 2004, 23:39:01
Нужно удалять php и html из полученных от пользователей текстов, кроме тех что разрешены. Использую следующую функцию:
$description=strip_tags($description,\'\');  
 Все удаляет, как надо, но возникла проблема.
В тексте присутствуют кавычки "". Не в виде кода (")
А просто...
И вот эта функция заменяет кавычки (") на  (\\").

А я никак не могу избавится от этого обратного слэша.
replace\'сы работать с ним не хотят...

Можно ли обойти эту проблему.

P.S. Можно конечно зарание заменять кавычки на код, но не хочется, потому что вдруг кавычки будут в параметрах..
Название: Проблема с функцией strip_tags
Отправлено: Меняздесьдавнонет от 25 Августа 2004, 00:15:00
Цитировать
И вот эта функция заменяет кавычки (") на (\\"

Да что ты говоришь!
Ага, а у таракана уши в ногах.
Проверь-ка еще раз, и потщательнее.


Обойти все можно. но желательно обходить именно то, что надо, а не то, что кажется.
Название: Проблема с функцией strip_tags
Отправлено: Vas от 25 Августа 2004, 11:25:31
Хорошо пример!
Данные передаются из формы.
Там пишем:
Цитировать
ехидство "Ромика" границ не знает

Посылаем... к:

$text_doc=strip_tags($text_doc,"

");
 echo "$text_doc";


И получаем:

Цитировать
ехидство \\"Ромика\\" границ не знает
Название: Проблема с функцией strip_tags
Отправлено: Макс от 25 Августа 2004, 13:04:51
Vas
выполни такой код :

echo "Текст до преобразования :
".$text_doc."
";
$text_doc=strip_tags($text_doc,"

");
echo "Текст после преобразования :


".$text_doc."
";
Название: Проблема с функцией strip_tags
Отправлено: Меняздесьдавнонет от 25 Августа 2004, 13:19:31
Спасибо, Макс...
Название: Проблема с функцией strip_tags
Отправлено: Vas от 25 Августа 2004, 15:53:19
Хм... А я тут сказки рассказываю....
А функция вовсе и не причем...

Вот что получилось у меня:

Текст до преобразования :

Цитировать
ехидство \\"Ромика\\" границ не знает

 
Текст после преобразования :

Цитировать
ехидство \\"Ромика\\" границ не знает


Ну и где собака зарыта?

Вопрос теперь в следующем:

Как перевести постующие кавычки в скажем названиях в код и при этом не трогать в параметрах html тэгов?  Видимо нельзя...

Как тогда быть?
Название: Проблема с функцией strip_tags
Отправлено: Меняздесьдавнонет от 25 Августа 2004, 16:05:18
Вот.
Спасибо я Максу сказал не за то, что он меня защитил, конечно, а за то, что не дал ответ.
потому, что готовый ответ отучает людей думать.
Мыслить логически.
Находить причинно-следственные связи.
А без этого, к сожалению, за программирование браться не стоит - только потратишь зря свое и чужое время.

Откуда берутся слеши и что с ними делать, подробно написано здесь: http://phpfaq.ru/slashes

Я настоятельно рекомендую прочесть тебе весь фак (там внизу ссылочка есть - "посмотреть все вопросы"), кроме, разве что, сессий. На этом сайте перечислены ВСЕ грабли, с которыыми сталкивается каждый пишущий на пхп.
Если ты считаешь, что тебе тема известа - все равно не поленись.
Я, работая с пхп 4 года, периодически нахожу там для себя новое.
Название: Проблема с функцией strip_tags
Отправлено: Vas от 25 Августа 2004, 16:08:38
Ага.. А вот и решение ...

$text_doc=stripslashes($text_doc);

просто убить слэши...
Название: Проблема с функцией strip_tags
Отправлено: Vas от 25 Августа 2004, 16:11:08
RomikChef

А я то считал тебя... а ты неплохой парень

Разродился!!