Автор Тема: Проблема с функцией strip_tags  (Прочитано 4497 раз)

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

Оффлайн Vas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с функцией strip_tags
« : 24 Августа 2004, 23:39:01 »
Нужно удалять php и html из полученных от пользователей текстов, кроме тех что разрешены. Использую следующую функцию:
$description=strip_tags($description,\'<b>\'); 
 Все удаляет, как надо, но возникла проблема.
В тексте присутствуют кавычки "". Не в виде кода (")
А просто...
И вот эта функция заменяет кавычки (") на  (\\").

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

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

P.S. Можно конечно зарание заменять кавычки на код, но не хочется, потому что вдруг кавычки будут в параметрах..
« Последнее редактирование: 25 Августа 2004, 00:14:34 от Vas »

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проблема с функцией strip_tags
« Ответ #1 : 25 Августа 2004, 00:15:00 »
Цитировать
И вот эта функция заменяет кавычки (") на (\\"

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


Обойти все можно. но желательно обходить именно то, что надо, а не то, что кажется.

Оффлайн Vas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с функцией strip_tags
« Ответ #2 : 25 Августа 2004, 11:25:31 »
Хорошо пример!
Данные передаются из формы.
Там пишем:
Цитировать
ехидство "Ромика" границ не знает

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

$text_doc=strip_tags($text_doc,"<i><p><b><u>");
 echo 
"$text_doc";


И получаем:

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

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Проблема с функцией strip_tags
« Ответ #3 : 25 Августа 2004, 13:04:51 »
Vas
выполни такой код :

echo "Текст до преобразования : <hr>".$text_doc."<hr>";
$text_doc=strip_tags($text_doc,"<i><p><b><u>");
echo 
"Текст после преобразования :<hr>".$text_doc."<hr>";
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проблема с функцией strip_tags
« Ответ #4 : 25 Августа 2004, 13:19:31 »
Спасибо, Макс...

Оффлайн Vas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с функцией strip_tags
« Ответ #5 : 25 Августа 2004, 15:53:19 »
Хм... А я тут сказки рассказываю....
А функция вовсе и не причем...

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

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

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

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

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


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

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

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

Как тогда быть?

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проблема с функцией strip_tags
« Ответ #6 : 25 Августа 2004, 16:05:18 »
Вот.
Спасибо я Максу сказал не за то, что он меня защитил, конечно, а за то, что не дал ответ.
потому, что готовый ответ отучает людей думать.
Мыслить логически.
Находить причинно-следственные связи.
А без этого, к сожалению, за программирование браться не стоит - только потратишь зря свое и чужое время.

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

Я настоятельно рекомендую прочесть тебе весь фак (там внизу ссылочка есть - "посмотреть все вопросы"), кроме, разве что, сессий. На этом сайте перечислены ВСЕ грабли, с которыыми сталкивается каждый пишущий на пхп.
Если ты считаешь, что тебе тема известа - все равно не поленись.
Я, работая с пхп 4 года, периодически нахожу там для себя новое.

Оффлайн Vas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с функцией strip_tags
« Ответ #7 : 25 Августа 2004, 16:08:38 »
Ага.. А вот и решение ...

$text_doc=stripslashes($text_doc); 

просто убить слэши...

Оффлайн Vas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с функцией strip_tags
« Ответ #8 : 25 Августа 2004, 16:11:08 »
RomikChef

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

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

 

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