0 0

java 判断一段html代码有没有外链接,除了flash的地址30

请教一下,用xheditor编辑器,用户编辑后,编辑器将html代码传到后台action的一个string里,string中不能有外链接,除了flash地址和公司服务器的链接。
2014年12月27日 01:02

2个答案 按时间排序 按投票排序

0 0

楼主可以通过正则表达式来匹配,但是这样效率很低。我建议楼组使用Jsoup这样的工具包来实现,和js那样很想,可以通过查询表达式获取到所有的标签和属性,效率也非常高。

2015年7月12日 22:38
0 0



import java.io.BufferedReader;
import java.io.FileReader;
import java.io.BufferedWriter;
import java.io.FileWriter;


import java.util.regex.Pattern;
import java.util.regex.Matcher;

/**
 * @author Royh.L
 * @date   2014.12.30
**/
public class URLTest {


	public static void main(String[] args) throws Exception {
		//FileInputStream html = new FileInputStream("html.txt");

		BufferedReader html = new BufferedReader(new FileReader("html.txt"));
		BufferedWriter localTxt = new BufferedWriter(new FileWriter("local.txt"));
		BufferedWriter outTxt = new BufferedWriter(new FileWriter("out.txt"));

		String locals[] = {"iteye.com"};
		
		// src="http://x.y.c/m?n=t"
		Pattern p = Pattern.compile("(?:(?:href)|(?:src))=\"(?:http://)?(([?=a-zA-Z0-9/._-]+))\"", Pattern.CASE_INSENSITIVE);

		//Matcher m = p.matcher("script><link href=\"http://www.iteye.com/stylesheets/ask.css?1418977807\"");

		// 这里的html.txt是压缩的,这里只有一行。
		// 如果没有压缩,则循环html.readLine()判断。
		Matcher m = p.matcher(html.readLine());

		String url = "";
		while(m.find()) {
			// get url.
			url = m.group(1);  
			System.out.println(url);
			//if(url != null) 
			for(String local : locals) {
				// local 
				// 绝对路径 iteye.com    eg: src="http://xxx.iteye.com/yyy?ddd"
				// 相对路径 no iteye.com eg: src="/images/x.y"
				if(url.indexOf(local) != -1 || url.split("/")[0].indexOf(".") == -1) { 
					localTxt.write(m.group(0) + "\r\n");
				} else { // out
					outTxt.write(m.group(0) + "\r\n");
				}
			}
		}

		localTxt.close();
		outTxt.close();
		html.close();
		//System.out.println(html);
	}

}

2014年12月30日 12:53

相关推荐

    JAVA上百实例源码以及开源项目源代码

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    JAVA上百实例源码以及开源项目

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java开源包4

    你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发...

    IBM WebSphere Portal门户开发笔记01

    4、编写跨浏览器兼容性的JS代码时,常用到的判断代码 237 5、JS 计算网页内容的宽与高 (浏览器的标准模式与怪异模式) 237 6、JS设置与查看网页的解析模式(值) 249 7、JS判断对象是否已经存在 249 8、CSS设置网页在...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已...

    asp.net知识库

    如何判断ArrayList,Hashtable,SortedList 这类对象是否相等 帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/...

    Google Android SDK开发范例大全(第3版) 1/5

    HTML5结合Mobile:控制手机输入键盘、CSS3版墙贴相册、离线数据库、可拨打电话的HTML链接、确定坐标并反查地址等。 编辑本段 作者简介 余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信...

    Google Android SDK开发范例大全(第3版) 4/5

    HTML5结合Mobile:控制手机输入键盘、CSS3版墙贴相册、离线数据库、可拨打电话的HTML链接、确定坐标并反查地址等。 编辑本段 作者简介 余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信...

    Google Android SDK开发范例大全(第3版) 3/5

    HTML5结合Mobile:控制手机输入键盘、CSS3版墙贴相册、离线数据库、可拨打电话的HTML链接、确定坐标并反查地址等。 编辑本段 作者简介 余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信...

    Google Android SDK开发范例大全(第3版) 5/5

    HTML5结合Mobile:控制手机输入键盘、CSS3版墙贴相册、离线数据库、可拨打电话的HTML链接、确定坐标并反查地址等。 编辑本段 作者简介 余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信...

    精通javascript

    • 1.1.htm 多段代码相互调用 • 1.2.htm [removed]与 • 1.3.htm 调用外部JavaScript文件 • 1.3.js 1.3.htm使用的外部JavaScript文件 第2章(\第2章) • 2.1.htm Infinity应用 ...

    精通JavaScript

    1.本书附源代码共计381个,其运行环境如下: IE 5或更高版本 Mozilla Firefox 1.5.0.3或更高版本 服务器采用IIS5.1 或以上版本 数据库使用MS Access 2000以上 2.本书所附光盘实例代码: 第1章(\第1章) 查看...

Global site tag (gtag.js) - Google Analytics