HTML<textarea>环境转换表示特殊符号的字符序列,例如
>
Run Code Online (Sandbox Code Playgroud)
进入相应的符号:
>
Run Code Online (Sandbox Code Playgroud)
但是,我正在尝试构建一个代码编辑器,它应该以逐字逐字的方式接收用户输入。问题是,如果用户>在编辑器中键入并编译代码,<textarea>则重新加载并在此过程中转换字符。
这是一个 MWE:
<!doctype html>
<html>
<head>
</head>
<body>
<textarea>
‘
’
‚
“
”
„
†
‡
</textarea>
</html>
Run Code Online (Sandbox Code Playgroud)
当页面加载时,textarea 编辑器中的所有内容都会被转换。
转义所有&符号可能是一种选择(如此处建议:如何在 textarea 中显示 <html>),但感觉好像这不是真正正确的做法。(难道我不需要考虑更多的特殊情况,例如 HTML 标签等吗??)
是否有“推荐”的方式在 HTML 中实现代码编辑器?
我试过CodeMirror,但问题仍然存在。
转义所有 & 符号可能是一种选择,但感觉好像这不是真正正确的做法。
这绝对是正确的做法
难道我不需要考虑更多的特殊情况,例如 HTML 标签等??
是的。
与要插入到 HTML 文档中的任何其他文本一样,该文本中在 HTML 中具有特殊含义的字符应首先转换为 HTML。
令人高兴的是,您只需要担心字符,而不必担心像标签这样复杂的特殊情况。
你如何做取决于你如何生成你的 HTML。
在模板工具包中:
<textarea>[% myData | html %]</textarea>
Run Code Online (Sandbox Code Playgroud)
在 PHP 中:
<textarea><?php echo htmlspecialchars($myData, ENT_QUOTES); ?></textarea>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1470 次 |
| 最近记录: |