HTML <textarea>
环境转换表示特殊符号的字符序列,例如
>
进入相应的符号:
>
但是,我正在尝试构建一个代码编辑器,它应该逐字逐句地逐个用户输入。问题是,如果用户在编辑器中键入>
并编译代码,则会重新加载<textarea>
,并在此过程中转换字符。
这是一个MWE:
<!doctype html>
<html>
<head>
</head>
<body>
<textarea>
‘
’
‚
“
”
„
†
‡
</textarea>
</html>
加载页面时,textarea编辑器中的所有内容都会被转换。
转义所有&
符号可能是一个选项(如此处所示:how to show <html> in textarea),但感觉好像不是真正正确的事情。 (我不会考虑更多特殊情况,例如HTML标签等。??)
是否有#34;推荐&#34;在HTML中实现代码编辑器的方法?
我尝试了CodeMirror,但问题仍然存在。
答案 0 :(得分:3)
逃离所有&amp;符号可能是一种选择,但感觉好像不是真正正确的事情。
绝对正确的事情
我不会考虑更多特殊情况,例如HTML标签等。??
是
与要插入HTML文档的任何其他文本一样,该文本中HTML中具有特殊含义的字符应首先转换为HTML。
令人高兴的是,你只需要担心字符,而不是像标签那样复杂的特殊情况。
如何操作取决于您如何生成HTML。
在模板工具包中:
<textarea>[% myData | html %]</textarea>
在PHP中:
<textarea><?php echo htmlspecialchars($myData, ENT_QUOTES); ?></textarea>
答案 1 :(得分:1)
正如您所说,逃避&
是最佳选择。根据您要显示>
的事实,这是正确的。这样,它将被直接理解。