想给html中的href增加一个链接,并做encode Url,有什么好方法吗?

踏雪听雨 2015-11-17 02:26:59
想给html中的href增加一个链接,并做encode Url,有什么好方法吗?

例如,原来是这样样的:
<a href="http://www.abc.com">test</a>
<a href="http://www.tttt.com?sdfsf=test">test</a>
要变成这样:
<a href="http://myweb.com/index.html?r=http%3a%2f%2fwww.abc.com">test</a>
<a href="http://myweb.com/index.html?r=http%3a%2f%2fwww.tttt.com%3fsdfsf%3dtest">test</a>

即加上自己的逻接,并把原先的url进行encode后,放到参数中。
...全文
681 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
踏雪听雨 2015-11-19
  • 打赏
  • 举报
回复
解决了,是这样的:

// 替换a标签中的href链接
	private StringBuffer replaceHrefByHit(StringBuffer contentHtml, String url) {
		Pattern p = Pattern.compile("href\\s*=\\s*[\"\'](.*?)[\"\']");
		Matcher m = p.matcher(contentHtml.toString());
		StringBuffer sb = new StringBuffer();
		while (m.find()) {
			String a = HtmlUtils.urlEncode(m.group(0));
			a = StringUtils.replace("%22", "", a); // 双引号换成空
			a = StringUtils.replace("%27", "", a); // 单引号换成空
			a = StringUtils.replace("+", "", a); // +号换成空
			a = StringUtils.replace("href%3D", "", a); // 替换href和等号

			String href = "href=\"" + url+ "&r=" + a + "\"";
			m.appendReplacement(sb, href);
		}
		m.appendTail(sb);

		return sb;
	}
_南天北落 2015-11-17
  • 打赏
  • 举报
回复
引用 2 楼 yanghaimingg 的回复:
var url = "r=http://www.abc.com" ; myHref ="http://myweb.com/index.html?"+ encodeURI(encodeURI(url)) ;
可以用encodeUrl()。
mtian2020 2015-11-17
  • 打赏
  • 举报
回复
var url = "r=http://www.abc.com" ; myHref ="http://myweb.com/index.html?"+ encodeURI(encodeURI(url)) ;
tony4geek 2015-11-17
  • 打赏
  • 举报
回复
dom操作元素啊。 修改href ,然后赋值。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧