2013-04-30 76 views
0

我需要一个函数来传播我的textarea字段输入,然后将其保存在我的数据库中。处理textarea字段输入与PHP

多行文本字段输入:

Hi 
sahdj sdhjsdj f hasjhf ash dsdhasd hjsdhjashdhsadj sjsadhjsdhjhassdnsdnnjas 
Thanks 

我想使它看起来像这样:

Hi<p></p>sahdj sdhjsdj f hasjhf ash dsdhasd hjsdhjashdhsadj sjsadhjsdhjhassdnsdnnjas<p></p>Thanks 

只是想更换一个<p></p>换行符。

+3

这需要输出只格式化nl2br();不格式化数据库 – Waygood 2013-04-30 08:29:53

+0

欢迎使用堆栈溢出。您可以使用[代码示例'{}'](http://i.stack.imgur.com/VYd26.png)工具栏按钮来格式化源代码。 – 2013-04-30 08:30:47

+0

@Waygood我怎么不知道'nl2br()'...?!我总是手动做的(谢谢!) – casraf 2013-04-30 08:32:38

回答

0

nl2br只会用<br />替换换行符。在我的大部分网站上,我想包装p -tags中的行。你可以做到这一点是这样的:

$lines = explode("\n",$_POST['textarea_name']); 
$output = ''; 
foreach ($lines as $v) { 
    $output .= '<p>'.$v.'</p>'; 
} 
-1

如果你想删除HTML中使用用strip_tags()函数对从HTML textarea的的name属性的$ _ POST变量。例如: -

$textarea_input = strip_tags($_POST['html_name_attrib']); 

The PHP Manual给出了该功能的详细信息。如果您正在讨论防止SQL注入的问题,请使用mysql或mysqli的real_escape_string函数。信息here和示例:

$protected_value = $mysqli_conn->real_escape_string($_POST['html_name_attrib']); 

是否回答了您的问题?

你不是在谈论使用str_replace("\n", "<br/><br/>", $_POST['html_name_attrib'])来简单地改变软换行符与HTML换行符是你吗?

+0

我想你的意思是使用'$ array = explode(“\ n” ,$ _POST ['html_name_attrib']);'然后'foreach($ array as $ line){$ string。='

'。 $线。 '

'; }' – Frank 2013-04-30 08:44:22