想给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后,放到参数中。
...全文
407 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
踏雪听雨 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)) ;
  • 打赏
  • 举报
回复
兔子托尼啊 2015-11-17
dom操作元素啊。 修改href ,然后赋值。
  • 打赏
  • 举报
回复
发帖
Web 开发

8.0w+

社区成员

Java Web 开发
社区管理员
  • Web 开发社区
加入社区
帖子事件
创建了帖子
2015-11-17 02:26
社区公告
暂无公告