启用<textarea>以显示HTML内容,例如粗体,斜体,颜色,img标签</textarea>

时间:2011-12-31 06:35:16

标签: php mysql html textarea

我会尝试在问题中明确,我需要在a上显示HTML内容。让我解释一下我想做什么。

1 - 在我的主文件中,我有一个将插入的文本发送到mysql表。(好) 2-After在同一页面上,PHP执行查询并搜索包含与消息一起插入的id的行。(好) 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>

   ";

   }

现在是我的问题:如果我在发件人上插入消息'(粗体标签)Mateus(粗体标签)',当PHP显示在textarea上时它不显示'Mateus '用粗体!所以我怎么能让textarea这样做呢?(基本上我想让我的textarea工作就像我现在写的那样)。

2 个答案:

答案 0 :(得分:2)

HTML textarea对其内容的值没有任何样式。

如果您想要设置样式,则需要使用第三方控件。比如CKEditor或freetext Box,否则你需要创建你知道的textarea。

答案 1 :(得分:1)

正如其他人所解释的那样,您无法设置TextArea元素的内容样式。

但是,如果您将其contentEditable属性设置为div,则可以采用其他路线并使标准true可编辑。这使得div元素的行为与文本区域类似。当然,要实际让用户更改样式,您必须添加一些外部控件(按钮,绑定按键事件等)。在Joe Armstrong's blog

上查看一个很好的示例

但最简单的方法可能只是使用CKEditor或类似的包。