PHP获取用户输入并保留新行

时间:2014-10-04 01:46:37

标签: php lines

我有一个需要由程序解释的字符串,它用某个子字符串标记字符串的开头和结尾。

例如它理解

"Dog

The information I need

Cat" 

但不是

"DogTheinformationIneedCat" (or "Dog TheinformationIneed Cat")

现在的问题是我正在从用户提交的textarea中检索数据,但是当它被删除时,它会删除所有换行符并且数据变得无用。

如何从用户那里获得输入并保留换行符。

1 个答案:

答案 0 :(得分:0)

默认情况下,这些行以\n

的形式保存在数据库中

从数据库中获取文本时,使用本机php函数nl2br自动转换&#34;换行符&#34;进入html标签<br&gt;在那里保留你的新行。

只需将其用作nl2br($your_string);

即可

例如:

function retrieve_data() {
    $data = get_data_from_db() // your get data function
    return nl2br($data); // this is where the magic happens *THIS IS NOT SAFE DON'T USE ON LIVE SERVER
}

save_data($data_from_text_area); // your save data function

echo retrieve_data() // will echo text with `<br`>

希望这有帮助!

编辑:

此外,从数据库输出文本时,请务必记住清理用户输入以避免XSS攻击!

示例:

function sanitize_string($string) {
    return filter_var($string, FILTERS_SANITIZE_STRING);
}

echo nl2br(sanitize_string($string));