2

我正在使用 PHP 来填充文本区域:

<textarea text-input" id="Desc" rows="15" wrap="soft" name="Desc"><?php echo $Desc; ?></textarea> 

但是 textarea 在其中显示了 HTML 标签,这是我不想要的。

<b>Analog And Digital System</b><br />
<b>Analog System:</b><br />
A string tied to a doorknob would be an analog system. They have a value that changes steadily over time and can have any one of an infinite set of values in a range. If you put a measuring stick or ruler at a specific point along the string, you can measure the string's value every so many seconds at that point. When you watch it move, you will see it moves constantly. It doesn't instantly jump up and down the ruler. <br />
<br />
<b>Digital System:</b><br />
A digital system would be to flick the light switch on and off. There's no 'in between' values, unlike our string. If the switch you are using is not a dimmer switch, then the light is either on, or off. In this case, the transmitter is the light bulb, the media is the air, and the receiver is your eye. This would be a digital system.<br />

基本上我想要做的是转换<b>标签以使内容加粗并将<br>标签转换为新行。

我想在不使用任何编辑器的情况下做到这一点。

4

4 回答 4

4

如果您只想显示 HTML 输出,请使用div标签而不是textarea. 因为,我们不能在textarea.

如果要显示 HTML 输出并希望该可编辑,请在标签上使用contenteditable属性。div

更多关于contenteditable它的支持可以在

https://developer.mozilla.org/en-US/docs/Web/HTML/Content_Editable

于 2013-07-22T11:22:56.360 回答
1

没有办法在 textarea 中进行 HTML 格式设置,你必须使用 ant 编辑器,但是如果你想在 div 中显示它,那么设置属性 contentEditable="true" 就可以了

这里有更多参考资料(已经在 stackoverflow 上问过)

于 2013-07-22T11:20:06.163 回答
1

为此,您应该使用基于 JavaScript 的WYSIWYG HTML 编辑器,例如tinymceCKEditor

否则 HTML 代码将保持原样(纯文本)。

但是,如果您使用编辑器,用户将能够编辑内容,并且内容将使用 javascript 转换为富文本(这正是编辑器会神奇地为您做的事情)。

WYSIWYG =所见即所得

于 2013-07-22T11:20:25.507 回答
0

您应该使用此处的代码Converting <br /> into a new line for use in a text area

<?  
   $text = "Hello <br /> Hello again <br> Hello again again <br/> Goodbye <BR>";
   $breaks = array("<br />","<br>","<br/>");  
   $text = str_ireplace($breaks, "\r\n", $text);  
?>  
<textarea><? echo $text; ?></textarea>
于 2013-07-22T11:21:48.963 回答