package com.gzsll.hupu.util; import android.content.Context; import android.text.TextUtils; import java.io.File; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by sll on 2016/6/2. */ public class HtmlUtil { private static String htmlString; public static String getHtmlString(Context mContext) { if (!TextUtils.isEmpty(htmlString)) { return htmlString; } String assetHtml = FileUtil.stringFromAssetsFile(mContext, "hupu_thread.html"); String cachePath = ConfigUtil.getCachePath(); if (!TextUtils.isEmpty(assetHtml)) { htmlString = assetHtml.replace("{hupu.js}", String.format("file://%s", cachePath + File.separator + "hupu_thread.js")) .replace("{jockey.js}", String.format("file://%s", cachePath + File.separator + "jockey.js")) .replace("{zepto.js}", String.format("file://%s", cachePath + File.separator + "zepto.js")); } return htmlString; } public static String transImgToLocal(String content) { Pattern pattern = Pattern.compile("<img(.+?)data_url=\"(.+?)\"(.+?)src=\"(.+?)\"(.+?)>"); Matcher localMatcher = pattern.matcher(content); while (localMatcher.find()) { String imageUrl = localMatcher.group(4); String localUrl = transToLocal(imageUrl); String localPath = "file://" + ConfigUtil.getCachePath() + File.separator + localUrl; if (FileUtil.exist(localPath)) { content = content.replace(imageUrl, localUrl); } } localMatcher.reset(); return content; } public static String transToLocal(String url) { return transToLocal(url, null); } public static String transToLocal(String url, String dir) { url = url.substring(url.lastIndexOf("/") + 1); if (!TextUtils.isEmpty(dir)) url = dir + url; return url; } }