【发布时间】:2012-06-14 05:45:08
【问题描述】:
我想在过滤器内的 HTML 响应中用它们各自的 HTML 实体替换某些字符。字符包括<、>、&。我不能使用replaceAll(),因为它会替换所有字符,即使是那些属于 HTML 标记的字符。
这样做的最佳方法是什么?
【问题讨论】:
-
如果已经形成了一个包含 HTML 标签和独立字符(例如
<)的混合字符串,那么可能为时已晚。您不能在字符串 data 包含在标签中之前对其进行 HTML 编码吗? -
我的应用程序边界不允许我早点这样做:(
-
但请想一想 - 如果 可能 可以使用完全形成的字符串可靠地执行此操作,那么您将不需要 进行编码 - 网络浏览器将使用这种神奇的技术来区分标签和一般文本。
-
这就是我需要做的。到目前为止,我正在做的是逐个字符地遍历 HTML 字符并检查“”。将其视为标签(忽略属性),我在预定义的标签列表中检查它。如果未找到匹配项,我将同时编码“”。我不认为这是正确的方法......
标签: html jakarta-ee escaping html-entities