【问题标题】:PHP print content as it isPHP 按原样打印内容
【发布时间】:2023-03-06 07:28:01
【问题描述】:

我有一个文本区域

<textarea id=view-body ></textarea>

在点击时获取内容

<a href='#' onclick='popup_view(this)' data-body ='". $rows['body'] ."' >view</a>

<script language="JavaScript">
function popup_view(e) 
{       
    var body = e.getAttribute('data-body');         
    el = document.getElementById("view-body");  
    el.innerHTML = body;    
}
</script>

我希望按原样打印我的 textarea 的内容。 例如 onclick 发送

<i>Wired</i>

我的文本区域打印输出

<i>Wired</i>

但不是,应该是这样的

有线

【问题讨论】:

  • 就我个人而言,我喜欢 this 的“几乎可以在任何地方工作”的方法,但我承认它并不具备所见即所得的魅力
  • 我越看越喜欢@DaveRandom 的方法。当内容更改时,您可以将 textarea 的内容写入 div。并且有一个样式表,如果你不希望它总是显示,它会在打印时隐藏/显示填充的 div。
  • @PeeHaa 我更喜欢 WYSIWYG 的主要原因是因为所有基于 HTML 的富文本编辑器往往会产生混乱的标记,并且当您更改样式时,您经常会遇到嵌套的(有时是冲突的)标签一些文本不止一次。问题真的是“你的听众有多技术?”因为我不想让我的奶奶学习 HTML 标记,而老亲爱的只是在工具栏上的斜体按钮上摸索。

标签: php printing


【解决方案1】:

Javascript innerHTML 函数将文本转换为 html 形式。

您可以使用这里显示的 textContent 函数

http://jsfiddle.net/yWgn7/

在 jquery 中你可以使用 .text() 函数,但我不确定 textContent 的兼容性。

【讨论】:

    【解决方案2】:

    尝试使用 div 而不是 textarea。如果我理解正确,则 textarea 显示 &lt;i&gt;&lt;/i&gt; 而您不希望它显示。 Textarea 不能自然地处理 html 格式。

    【讨论】:

      【解决方案3】:

      HTML 内置的&lt;textarea&gt; 元素不允许您设置其内容的样式。您需要某种wysiwyg 编辑器来执行此操作。

      【讨论】:

        【解决方案4】:

        您可以用任何富文本编辑器替换您的文本区域 http://ckeditor.com/

        【讨论】:

          【解决方案5】:

          您必须使用 htmlentities 函数将特殊字符替换为 html 实体。

          data-body = "<? php echo htmlentities($rows[' body ']);?>"
          

          【讨论】:

            猜你喜欢
            • 2010-12-07
            • 2013-03-04
            • 1970-01-01
            • 1970-01-01
            • 2015-06-19
            • 1970-01-01
            • 2012-07-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多