一个html分析工具
<br />最近在做一个新闻发布系统,后台用的的编辑器是FCKeditor, 一个开源的编辑器。<br /> <br /> <br /> <br /> 具体使用啊,配置啊,网上很多教程,可是编辑器里上传的图片的路径死活获取不到。网上有人介绍大概有两种方式就是通过正则表达式来析取,另外一种是用FCKeditor里的JS。试了两种方式,JS没能实现,正则表达式却只能提取一张图片的路径,上
最近在做一个新闻发布系统,后台用的的编辑器是FCKeditor, 一个开源的编辑器。
具体使用啊,配置啊,网上很多教程,可是编辑器里上传的图片的路径死活获取不到。网上有人介绍大概有两种方式就是通过正则表达式来析取,另外一种是用FCKeditor里的JS。试了两种方式,JS没能实现,正则表达式却只能提取一张图片的路径,上传了多张图片就会出错,而我正则表达式有不大懂,只有另辟蹊径。
从编辑器里传过了的是html格式的代码,那么就可以编程来解析DOM了,这样就可以得到img,tr,td等标签的集合,然后就能找到图片路径了吗,想到一个以前用的一个现成的工具htmlparser, htmlparser就是用来解析html的java工具,简单到你只需要去指定规则,然后得到你想要的节点,具体可以去查些教程看看。这里从editor传过来的content,然后解析content,得到img标签集,然后找到图片路径,代码如下:
public String getImageURL(String txt) throws ParserException{
String img=null;
Parser parser;
NodeFilter filter=new TagNameFilter("img");
parser = Parser.createParser(txt,"GB2312");
NodeList nodelist=parser.parse(filter);
if(nodelist.size()!=0){
Node[] nodes=nodelist.toNodeArray();
for(int i=0;i<nodes.length;i++){
ImageTag image=(ImageTag) nodes[i];
if("".equals(img)){
img=image.getImageURL().toString();
}else{
img=img+","+image.getImageURL().toString();
}
}
}
return img;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fdemon/archive/2008/12/20/3561775.aspx
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)