在 html textarea 中的每一行周围添加段落标签

我试图让用户尽可能轻松地在文本区域中输入文本,而不需要他们知道任何代码或必须处理所见即所得格式。这只是文字。但是由于文本在页面上显示时将以 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>标签放在所有内容周围 - 一个在帖子的开头,一个在结尾,忽略所有返回。


谁能看到我做错了什么?


函数式编程
浏览 144回答 1
1回答

慕桂英3389331

当你打电话时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++){&nbsp; &nbsp; $paragraphs[$i] = '<p>' . $paragraphs[$i] . '</p>';}$content = implode('', $paragraphs);但是你也应该使用准备好的语句,所以你根本不需要调用mysqli_real_escape_string()。
打开App,查看更多内容
随时随地看视频慕课网APP