使用[href]转义html锚标签

时间:2012-09-21 12:23:49

标签: java html escaping

如果网址不同,如何转义每个html动态锚标记?

<a href="*_url">*_url</a>

我需要将上述代码保存在数据库中

&lt;a href="*_url"&gt;*_url&lt;/a&gt;

我已转发其他代码,例如<code><html><strong> ...使用

`StringUtils.replaceEach(post, search, replacement);` 

因为它们是静态标签。但是锚标记将"href"保留为动态内容。

如何通过Java方法立即完成此操作。

谢谢!

4 个答案:

答案 0 :(得分:1)

使用Apache Commons Lang中的StringEscapeUtils.escapeHtml()

答案 1 :(得分:0)

您可以将java.net.URLEncoder.encode StringUtils.replaceEach 结合使用。您可能希望解析锚标记并使用URLEncoder对其进行编码。

答案 2 :(得分:0)

使用XML / HTML解析器并在两个标签中获取文本很容易。

我得到了here

答案 3 :(得分:0)

David Grant的解决方案对我来说似乎是正确的。 与此同时,escapeHtml已经过时了。您可以选择escapeHtml3escapeHtml4

1)添加到您的Gradle依赖列表:

compile 'org.apache.commons:commons-lang3:3.3.2'

对于Maven来说:

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>

2)

import org.apache.commons.lang3.StringEscapeUtils;

3)然后调用......

StringEscapeUtils.escapeHtml4(...)