如果网址不同,如何转义每个html动态锚标记?
<a href="*_url">*_url</a>
我需要将上述代码保存在数据库中
<a href="*_url">*_url</a>
我已转发其他代码,例如<code>
,<html>
,<strong>
...使用
`StringUtils.replaceEach(post, search, replacement);`
因为它们是静态标签。但是锚标记将"href"
保留为动态内容。
如何通过Java
方法立即完成此操作。
谢谢!
答案 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
已经过时了。您可以选择escapeHtml3
和escapeHtml4
。
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(...)