специальные символы — \ n в textarea интерпретируется при передаче на php сервер

Итак, я вхожу

hello \n \n my friend \n !

в текстовую область.
Затем я сохраняю его в БД, извлекаю и получаю

hello

my friend
!

Но я не хотел переводить \ n в новые строки.

Итак, это мой пример настройки:

<textarea name="mytextarea">$mytext</textarea>

на сервере я делаю:

хранить

$mydbtextstore = $_POST["mytextarea"];

$modsql = " UPDATE mytable SET text = " . "'" . $mydbtextstore . "'" ;
mysql_query($modsql, $conn) or die(mysql_error());

извлекать

$descSQL = " SELECT  text
FROM mytable;"$descRes = mysql_query($descSQL, $conn) or die(mysql_error());
$descRow = mysql_fetch_array($descRes);
$mytext = $descRow["text"];

Что мне не хватает?
Текстовая область ДОЛЖНА воспроизводить и содержать это:

\n

1

Решение

Вы должны избежать обратной косой черты с другой обратной косой чертой. Смешно, правда?

Поэтому после того, как вы отправили свой текст, сделайте так:

$text = str_replace('\\', '\\\\', $text);

поэтому у вас будет следующее:

hello \\n \\n my friend \\n !

и когда вы вставите его в базу данных, он будет выглядеть как строка с одной обратной косой чертой

1

Другие решения

Вы можете использовать str_replace, как это, после получения данных.

$mytext = str_replace("\","&#92;",$mytext);

Вы замените косую черту ее html-сущностью, если будете использовать этот код.

РЕДАКТИРОВАТЬ: или использовать htmlentities на всю строку.

1

По вопросам рекламы [email protected]