Not*_*aeL 3 html-parsing jsoup
我试过了:
Whitelist.relaxed();
Whitelist.relaxed().preserveRelativeLinks(true);
Whitelist.relaxed().addProtocols("a","href","#","/","http","https","mailto","ftp");
Whitelist.relaxed().addProtocols("a","href","#","/","http","https","mailto","ftp").preserveRelativeLinks(true);
Run Code Online (Sandbox Code Playgroud)
它们都不起作用:当我尝试清除相对网址时,就像<a href="/test.xhtml">test</a>我href删除了属性(<a>test</a>)。
我正在使用JSoup 1.8.2。
有任何想法吗?
该问题很可能源于clean方法的调用。如果您提供基本URI,则所有内容都应按预期工作:
String html = ""
+ "<a href=\"/test.xhtml\">test</a>"
+ "<invalid>stuff</invalid>"
+ "<h2>header1</h2>";
String cleaned = Jsoup.clean(html, "http://base.uri", Whitelist.relaxed().preserveRelativeLinks(true));
System.out.println(cleaned);
Run Code Online (Sandbox Code Playgroud)
以上工作并保持相对链接。String cleaned = Jsoup.clean(html, Whitelist.relaxed().preserveRelativeLinks(true))但是,通过删除链接。
请注意Whitelist.preserveRelativeLinks(true)的文档:
请注意,在处理相对链接时,输入文档在解析时必须设置适当的基本URI,以便可以确认链接的协议。不管保留相对链接选项的设置如何,该链接都必须可针对基本URI解析为允许的协议。否则属性将被删除。
| 归档时间: |
|
| 查看次数: |
773 次 |
| 最近记录: |