【问题标题】:strip <br>(n12br) get from database field剥离 <br>(n12br) 从数据库字段中获取
【发布时间】:2011-09-04 06:56:32
【问题描述】:

我有一个 textarea 值,它的值来自一个字段(nl2br)

如何去掉“
”,这样当我想编辑这个字段时,“
”就不会出现了?

//$data["Content"] is the field that has <br/> tags inside
$content = $data["Content"];

//when want to edit, want to strip the <br/> tag
<td><textarea name="content" rows="10" style="width:300px;"><?=$content?></textarea></td>

我知道它应该使用 strip_tags() 函数但不确定真正的方法

任何帮助将不胜感激

【问题讨论】:

  • 我终于找到了方法。只需使用 strip_tags($content) 就可以了。
  • 使用strip_tags()如果你想从你的变量中删除每个html元素,如果你只想删除&lt;br/&gt;使用类似str_replace()的函数。如果你正在编辑例如博客文章,你最好在你的界面中添加一个 javascript 编辑器,它会让你的喜欢更容易

标签: php textarea strip-tags nl2br


【解决方案1】:

如果你想使用 strip_tags,那就是:

$content = strip_tags($data["Content"]);

【讨论】:

    【解决方案2】:

    我将使用str_replace,以下将用换行符替换&lt;br/&gt;

    $content = str_replace('<br/>','\n',$data['Content']);
    

    或者如果你不想要换行符

    $content = str_replace('<br/>','',$data['Content']);
    

    编辑 一个例子

    $my_br = 'hello<br/> world';
    $content = str_replace('<br/>','',$my_br);
    
    echo $content;
    
    Output: hello world
    

    【讨论】:

    • 不会删除

    • @Niklas 但它会删除 &lt;br/&gt; 而不是 html 元素的其余部分。他只请求&lt;br/>
    • 是的,这实际上不会取代
      .. 所以我想我会坚持使用 strip_tags()
    • @user723360 当然可以,查看我的示例,请记住,这只会删除&lt;br/&gt; 而不是&lt;br /&gt;&lt;br&gt;。如果您想删除所有且仅出现的 &lt;br&gt;,则必须为上述所有内容运行 str_replace
    • @atno 我不确定为什么.. 可能是 nl2br 问题,因为值是从数据库中获取的。我试过这个 $content = str_replace('
      ','\n',$data['Content']);但是
      标签仍然出现在 textarea 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多