-
java 判断一段html代码有没有外链接,除了flash的地址30
请教一下,用xheditor编辑器,用户编辑后,编辑器将html代码传到后台action的一个string里,string中不能有外链接,除了flash地址和公司服务器的链接。
2014年12月27日 01:02
2个答案 按时间排序 按投票排序
-
楼主可以通过正则表达式来匹配,但是这样效率很低。我建议楼组使用Jsoup这样的工具包来实现,和js那样很想,可以通过查询表达式获取到所有的标签和属性,效率也非常高。
2015年7月12日 22:38
-
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源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发...
通过这种方式,每当用户选择一个不同的选项时,页面就会自动跳转至对应的链接地址,无需手动提交表单,提供了流畅的用户交互体验。 #### 探测浏览器插件 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应用 ...
1.本书附源代码共计381个,其运行环境如下: IE 5或更高版本 Mozilla Firefox 1.5.0.3或更高版本 服务器采用IIS5.1 或以上版本 数据库使用MS Access 2000以上 2.本书所附光盘实例代码: 第1章(\第1章) 查看...