启用 <textarea> 显示 HTML 内容,例如粗体、斜体、颜色、img 标签
Posted
技术标签:
【中文标题】启用 <textarea> 显示 HTML 内容,例如粗体、斜体、颜色、img 标签【英文标题】:Enable <textarea> to display HTML content,such as bold,italic,color,img tags 【发布时间】:2012-01-30 23:43:06 【问题描述】:我会尽量明确问题,我需要在 . 上显示 html 内容。让我解释一下我想做什么。
1-在我的主文件中,我有一个将插入的文本发送到 mysql 表。(好的) 2-在同一页面上php执行查询并搜索包含与消息一起插入的id的行。(OK) 3-在 PHP 找到具有相同 id 的行后,我使用下面的代码显示这些消息(消息显示在 textarea 上):
while ($runrows = mysql_fetch_assoc($run_two))
$horario = $runrows['added'];
$autor = $runrows['autor'];
$mensagem = $runrows['mensagem'];
$codigosender = $runrows['codigosender'];
$testevar = htmlspecialchars($mensagem);
echo"
<center>
<table width='500px;'>
<tr><td width='75%'>$autor</td><td width='25%'>$horario</td></tr>
</table>
<textarea name='displayMessages' style=' width:500px;' readonly>$testevar</textarea>
</center>
";
现在是我的问题:如果我在我的发件人上插入消息'(bold tag)Mateus(bold tag)',当 PHP 在 textarea 上显示时它不会显示'Mateus ' 粗体!那么我怎样才能使 textarea 这样做呢?(基本上我想让我的 textarea 像我现在写的那样工作)。
【问题讨论】:
php
标签与问题完全无关。无论如何,只要得到 tinymce 或 CKEditor
这个文本区域(在***上)没有粗体或斜体或任何东西。
当你写任何问题时,你可以使用标签,如,,或插入图片
How do you display styles in a HTML textarea的可能重复
the code is inside php tags
-- 代码是用windows操作系统编写的。让我们把窗户也放在这里。请 - coffee
,因为我现在正在喝咖啡
【参考方案1】:
HTML textarea 不会为其内容的值设置任何样式。
如果您希望提供样式,则需要使用第三方控件。像 CKEditor 或 freetext Box,否则您将需要创建自己的文本区域。
【讨论】:
当我把 echo"$mensagem";所有 html 实体都显示得很好,但是当我将字符串添加到 textarea 时,它只会显示为文本。我想知道是否可以让 textarea 显示 htmlentities。 不,没有这种方法可以使用 html 标签在 textarea 中显示数据或值,因为我们只能使用第三方控件,但是在 textarea 中你不能这样的样式,是的标签是可见..【参考方案2】:正如其他人所解释的,您不能为 TextArea 元素的内容设置样式。
但是,如果您将其 contentEditable 属性设置为 true
,您可以采取另一条路线并使标准 div
可编辑。这使得div
元素的行为类似于文本区域。当然,要真正让用户更改样式,您必须添加一些外部控件(按钮、绑定按键事件等)。请参阅 Joe Armstrong's blog 上的一个很好的示例
但最简单的方法可能是只使用 CKEditor 或类似的包。
【讨论】:
以上是关于启用 <textarea> 显示 HTML 内容,例如粗体、斜体、颜色、img 标签的主要内容,如果未能解决你的问题,请参考以下文章