首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅删除<textarea></textarea>中的<br>

如何仅删除<textarea></textarea>中的<br>
EN

Stack Overflow用户
提问于 2010-01-06 03:53:16
回答 5查看 5.2K关注 0票数 1

我有一些文章存储在数据库中的文本字段中。有时,当文章包含<textarea>content.....</textarea>时,问题是当使用php在页面上显示内容时,它包含实际的<br><br><br><br>是由文本编辑器(CKEditor)放置在那里的,因此它看起来如下所示

<textarea> <--这实际上是一个文本区域

该内容显示在文本区域<br>中,但问题是<br>也会显示出来。</textarea>

如何只从<br>标记中剥离<textarea>。我想一些预替换会很有用。

EN

回答 5

Stack Overflow用户

发布于 2010-01-06 05:33:36

代码语言:javascript
复制
$x='<br><textarea>abcd<br>efgh</textarea><br><br>';

echo preg_replace('/<textarea>.*?<\/textarea>/e','str_replace("<br>","","\\0")',$x);

//<br><textarea>abcdefgh</textarea><br><br>

如果您使用<br />,请适当地更新它。

票数 2
EN

Stack Overflow用户

发布于 2010-01-06 05:12:35

有一种方法

代码语言:javascript
复制
$str= <<<A
    <textarea> <-- this actually becomes a textarea

    This content is shown inside the text area<br> but the problem is that the <br> is also shown. </textarea>
A;
$s = explode("</textarea>",$str);
for($i=0;$i<count($s)-1;$i++){
    if(strpos($s[$i],"<textarea>")!==FALSE){
        $s[$i] = preg_replace("/<br>/","",$s[$i]);
    }
}
print implode("</textarea>",$s);
票数 0
EN

Stack Overflow用户

发布于 2010-01-06 05:28:17

您看过数据库正在存储的内容了吗?可能是在写入数据库之前是HTMLencoding存储的,所以您看到的实际上是:

代码语言:javascript
复制
&lt;br /&gt;

当您使用CKEditor和TinyMCE生成的字段时,当它在$_POSTing之前转义字段时,会发生这种情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2010851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档