Обработка текста при вставке в базу. Нужна помощь

Valensia

Guest
Обработка текста при вставке в базу. Нужна помощь

В ходе написания гостевой возникли следующие проблемы:

1.
При вставке в базу не могу втавить знак \ Разве addslashes не решает этот вопрос???
Приходится использоваь это:

$content = str_replace("\\", "\\\\", $content);
Правильно ли я делаю? Есть ли другой выход?

2.
Также хтмл-теги "интерпритируются" браузером, тоесть если введу <tr><td>DGF</td></tr>, то напечатает - DGF

Вот код который я использую перед вставкой в бд:


$content=nl2br($_POST['text']);
if(!get_magic_quotes_gpc()) $content=addslashes($content);
$content = str_replace("\'", "&#39;", $content);
$content = preg_replace("/[ ]{2,}/", " ", $content);



3.
И как сделать чтобы больше 2 переводов строки заменялось одним. Пробовал:

$content = preg_replace("/[\r\n]{2,}/", "\r\n", $content); НЕ получается :(
 

Фанат

oncle terrible
Команда форума
Разве addslashes не решает этот вопрос???
решает.
видимо, ты что-то делаешь не так.
Также хтмл-теги "интерпритируются" браузером,
Вот код который я использую перед вставкой в бд:
абсолютно нелогичное утверждение.
при чём здесь браузер, если ты вставляешь в базу?
Давай ты не будешь путаться, и делать то, что нужно для конкретного случая?
Перед вставкой в базу - обрабатываешь для базы.
Перед выводом в браузер - обрабатываешь для браузера.
Тогда у тебя в голове многое прояснится.
 

Valensia

Guest
Хорошо. В базу я записываю такой текст - <tr><td>ABC</td></tr>. В таком виде он лежит в базе.
Тогда ккак его обработать на выходе чтобы так же отобразилось в браузере без интерпритации хтмл-кода?
 

Valensia

Guest
Так я так и делаю!!!
PHP:
<?
echo $text;
?>
А текст у меня(например кто-то пославил хтмл-теги в сообщение)=<table><tr><td>Текст-контент</td></tr><table>

При выводе у меня не получается чтобы на екране был текст как на этом форуме например в моем сообщении выше
 

nighthunter

Новичок
hobobob

htmlspecialchars

"Эта функция используется для предотвращения ввода вместе с пользовательским текстом разметки HTML, как в досках объявлений или в приложении guest book."
 

Valensia

Guest
Да помогло! Спасибо!

А с регулярным выражением поможете: нужно чтобы больше 2х переводов строки заменялось 1
Пробовал:
$content = preg_replace("/[\r\n]{2,}/", "\r\n", $content);

Почему-то не выходит..
 
Сверху