1

如果 URL 不同,如何转义每个 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

4 回答 4

1

StringEscapeUtils.escapeHtml()Apache Commons Lang使用。

于 2012-09-21T13:35:31.257 回答
0

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

我在这里找到了

于 2012-09-21T18:06:00.997 回答
0

David Grant's solution seems correct to me. In the meantime escapeHtml has gotten obsolete. You can choose between escapeHtml3 and escapeHtml4.

1) Add to Your Gradle Dependency List:

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

For Maven it is:

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

2)

import org.apache.commons.lang3.StringEscapeUtils;

3) Then invoke...

StringEscapeUtils.escapeHtml4(...)
于 2014-11-12T18:31:25.323 回答
0

您可以将java.net.URLEncoder.encodeStringUtils.replaceEach结合使用。您可能想要解析锚标记并使用 URLEncoder 对其进行编码。

于 2012-09-21T12:31:08.330 回答