如何防止 HTML 文本区域转换特殊符号,如 >
How to prevent HTML textarea from converting special symbols such as >?
HTML <textarea>
环境转换表示特殊符号的字符序列,例如
>
进入相应的符号:
>
但是,我正在尝试构建一个代码编辑器,该编辑器应该以逐字方式逐个字符地获取用户输入。问题是,如果用户在编辑器中键入>
并编译代码,则会重新加载<textarea>
,并在此过程中转换字符。
这是一个MWE:
<!doctype html>
<html>
<head>
</head>
<body>
<textarea>
‘
’
‚
“
”
„
†
‡
</textarea>
</html>
加载页面时,文本区域编辑器中的所有内容都会被转换。
转义所有&
符号可能是一种选择(如此处建议:如何在文本区域中显示 ),但感觉好像这不是真正正确的做法。 (我不需要考虑更多特殊情况,例如 HTML 标签等吗??
是否有"推荐"的方法在HTML中实现代码编辑器?
我尝试了CodeMirror,但问题仍然存在。
转义所有的符号可能是一种选择,但感觉好像这不是真正正确的做法。
这绝对是正确的做法
我不需要考虑更多的特殊情况,例如 HTML 标签等吗?
是的。
与要插入到 HTML 文档中的任何其他文本一样,该文本中在 HTML 中具有特殊含义的字符应首先转换为 HTML。
令人高兴的是,您只需要担心字符,而不是像标签这样复杂的特殊情况。
如何做到这一点取决于您如何生成 HTML。
在模板工具包中:
<textarea>[% myData | html %]</textarea>
在 PHP 中:
<textarea><?php echo htmlspecialchars($myData, ENT_QUOTES); ?></textarea>
正如你所说,逃离&
是最好的选择。这是正确的,根据您要显示>
的事实.这样,它将被直接正确理解。
相关文章:
- 如何将 html 特殊字符转换为普通 HTML
- 如何在javascript代码中编写特殊符号(箭头和键盘上的所有键)
- 如何向正则表达式添加特殊符号以允许在文本字段中使用
- SVG-精灵:符号转换为单个SVG图标
- Json via java.需要发送特殊符号
- 为什么IE无法正确显示我的HttpHandler Web应用程序中的特殊符号
- 如何防止 HTML 文本区域转换特殊符号,如 >
- JS,将符号转换为参数
- HTML 特殊符号显示为字符
- 我必须写Regex,它只允许@#$%作为特殊符号,而不允许其他人像><`~符号
- Json.encode特殊符号u003c MVC3
- 使用jquery将除文本字段和文本区域外的所有html标记中的所有指定符号转换为另一个符号
- 当表单元素包含带有一些特殊符号的id时,jQuery验证器会出错'无法识别的表达式'
- JavaScript:限制字段-不能删除特殊符号
- 将特殊字符转换为Html编码字符
- 将特殊字符转换为HTML
- 将方括号符号转换为对象
- 如果名称有特殊符号,则脚本结构不正确
- Regex来验证电子邮件,它只允许这两个特殊符号.,-在@符号之前
- 删除特殊符号