2015-11-30 99 views
1

我试图删除从数据库输出<br />但这不是真正的工作为我。我的代码以nl2br开头,它产生<br />。但是我会允许我的用户编辑文本,我也很乐意确保在剪辑中允许换行。腓移除BR标签

但在我<textarea>它打印出的标签<br />。我只想要一个换行符。

echo nl2br(preg_replace("/<br\W*?\/>/", "", $row["content"])); 
+0

作出这样的一个答案,你会得到一个对勾:) – sfsefsf33fs3fs3fs

+0

你的正则表达式是正确的,至少 – VIDesignz

+0

@ sfsefsf33fs3fs3fs您应该考虑使用的编辑器。 Markitup非常适合编辑代码,summernote是一个体面的所见即所得,而tinymce是一个全功能(如果膨胀)所见即所得。基本上它们允许你用断点编辑,但保存在新行中。 – Flosculus

回答

1

不要运行时输出br S中nl2br。还可以在替换值中使用\n,以便获得新行。

echo preg_replace("/<br\W*?\/>/", "\n", $row["content"]); 

你也可能需要使用\h\s代替\W

0

据我所知,还有就是你想用,当你想显示一个文本输入的文本,那么你需要的nl2br,这将插入BR标签到文本两种形式。您可能还想以这种方式将内容保存到数据库。

当你想将文本加载回一个textarea,那么这取决于你如何保存的文本:如果保存换行符

  • :什么也不做与文本只是将其加载到textarea的
  • 如果保存BR标签:你需要你的代码的preg_replace(...)部分以“\ n”作为替代(preg_replace("/<br\W*?\/>/", "\n", $row["content"]);)。