package com.lgq.rssreader.formatter; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import android.net.Uri; import android.util.Log; import com.lgq.rssreader.entity.Blog; import com.lgq.rssreader.readability.Readability; import com.lgq.rssreader.utils.HtmlHelper; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.AsyncHttpResponseHandler; public class DescriptionFormatter extends BlogFormatter { @Override protected String LoadFromCache(Blog blog) { if (blog != null && blog.Description.length() == 0) { return ""; } Document doc = Jsoup.parse(blog.Description); List<Element> embeds = doc.getElementsByTag("embed"); for(Element d : doc.getElementsByTag("iframe")){ if(d.hasAttr("src")&& ( d.attr("src").contains("swf") || d.attr("src").contains("youku") || d.attr("src").contains("sohu") || d.attr("src").contains("tudou") || d.attr("src").contains("youtube") || d.attr("src").contains("ku6") ) ) embeds.add(d); } for(Element d : doc.getElementsByTag("a")){ if(d.hasAttr("href")&& ( d.attr("href").contains("swf") || d.attr("href").contains("youku") || d.attr("href").contains("sohu") || d.attr("href").contains("tudou") || d.attr("href").contains("youtube") || d.attr("href").contains("ku6") ) ) embeds.add(d); } if (embeds.size() != 0) return ""; for(Element img : doc.getElementsByTag("img")){ if(img.hasAttr("src") && !img.attr("src").startsWith(prefix)){ return ""; } } return blog.Description; } @Override protected void Download(final Blog blog) { DownloadComplete.onDownload(blog, blog.Description); } private static final Object syncLock = new Object(); @Override protected String GetReadableString(String content) { return content; } }