我试图让用户尽可能轻松地在文本区域中输入文本,而不需要他们知道任何代码或必须处理所见即所得格式。这只是文字。但是由于文本在页面上显示时将以 html 格式显示,因此每行周围都有“p”标记会很好。现在我试过这个: $content = mysqli_real_escape_string($connection,$_POST['content']); $paragraphs = explode("\n", $content); for ($i = 0; $i < count ($paragraphs); $i++) { $paragraphs[$i] = '<p>' . $paragraphs[$i] . '</p>'; } $content = implode('', $paragraphs);但这是将<p></p>标签放在所有内容周围 - 一个在帖子的开头,一个在结尾,忽略所有返回。谁能看到我做错了什么?
1 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
当你打电话时mysqli_real_escape_string()
,这会对某些东西进行编码-来自手册
转义符
要转义的字符串。
编码的字符为 NUL (ASCII 0)、\n、\r、\、'、" 和 Control-Z。
所以 any\n
将被转义。
你可以改变它先做更换......
$paragraphs = explode("\n", $_POST['content']);
for ($i = 0; $i < count ($paragraphs); $i++)
{
$paragraphs[$i] = '<p>' . $paragraphs[$i] . '</p>';
}
$content = implode('', $paragraphs);
但是你也应该使用准备好的语句,所以你根本不需要调用mysqli_real_escape_string()。
- 1 回答
- 0 关注
- 163 浏览
添加回答
举报
0/150
提交
取消