java对用户发布的内容里含链接加nofollow的方法

用户所有发布内容(使用富文本的地方)有链接则加rel="external nofollow"

代码如下 :


/**
	 * 对于外部链接加上nofollow
	 * @param html
	 * @return
	 */
	public static String htmlLink(String html,String except) {
		Document doc = Jsoup.parseBodyFragment(html); 
		//加标签
		Elements anchors = doc.select("a"); 
		for (Element anchor : anchors) {
			String href=anchor.attr("href");
			if(href.startsWith("http://")|| href.startsWith("https://")){
				if(!href.contains(except)){
					anchor.attr("rel", "external nofollow");
					anchor.attr("target", "_blank");
				}
			} 
		}
		return doc.body().html();
	}
使用时的jar包:


<dependency>
	<groupId>org.jsoup</groupId>
	<artifactId>jsoup</artifactId>
	<version>1.7.2</version>
</dependency>
本人使用的是1.7.2版本,想使用其它版本可以移步到:

http://mvnrepository.com/artifact/org.jsoup/jsoup

jsoup的jar下载:jsoup-1.7.2.jar

在这个页面:

WebDevCheckList这个网站提供了一个完整的测试清单

的这个位置可以查看效果


草木全
分享到:

if(href.startsWith("http://")|| href.startsWith("https://")){
}
这个if判断,要根据自己的情况来调整。

通常,不加http的是本网站内的链接

以http:// 或者https://或者// 开头的,表示是全路径的地址。

这个时候,通常还要判断是一下是否是自己网站的域名(www.ijiuwen.com)等。

1
共 1 条   当前1/1页

© 2014 究问社区 copyRight 豫ICP备13003319号-1