用Java中的撇号提取href值

时间:2012-11-14 23:33:57

标签: href jsoup

我是JSoup的新用户。我想从html中提取href值。

例如:

 String html = "<p>An <a href='http://exa'mple.com'><b>example</b></a> link.</p>";
 Document doc = Jsoup.parse(html);
 Element link = doc.select("a").first();
 String linkHref = link.attr("href"); 

我得到的输出为"http://exa",但我需要输出为"http://exa'mple.com"(href中的原始文本)。 link.outerHtml()提供了一些不同的文字。

我无法改变HTML。 HTML是用户的输入。

2 个答案:

答案 0 :(得分:0)

试试这个:

String html = "<p>An <a href='http://exa%27mple.com'><b>example</b></a> link.</p>";

答案 1 :(得分:0)

我看不出这是怎么可能的,因为jsoup解析器会期望'关闭href参数,而这正是它得到的。我认为你唯一的选择是预先解析用户提供的字符串,但即使这样也很棘手,因为你必须提出一个规则来区分“正确”和“不正确”的引号。