private void initView() {    WebView mWebView = findViewById(R.id.webview);    mWebView.loadUrl("file:///android_asset/book/GUID-0B7E066B-D444-4C7C-918F-339F9D7B5319.html");    //使webview支持javascript    WebSettings mSetting = mWebView.getSettings();    mSetting.setJavaScriptEnabled(true);    //添加一个js交互对象    mWebView.addJavascriptInterface(new InJavaScriptLocalObj(), "java_obj");    //添加一个WebViewClient监听状态,并且在完成时通过js调用java对象的方法    mWebView.setWebViewClient(new WebViewClient() {        @Override        public void onPageFinished(WebView view, String url) {            view.loadUrl("javascript:window.java_obj.getSource(document.documentElement.outerHTML);void(0)");            super.onPageFinished(view, url);        }    });}
getSource中解析
public final class InJavaScriptLocalObj {    //一定也要加上这个注解,否则没有用    @JavascriptInterface    public void getSource(String html) {    //获取html中的所有文本        String regFormat = "\\s*|\t|\r|\n";        String regTag = "<[^>]*>";        speechText = html.replaceAll(regFormat,"").replaceAll(regTag,"");        //删掉style        speechText = speechText.substring(speechText.indexOf("}") + 1);        speechText = speechText.substring(speechText.indexOf("}") + 1);        //删掉title        Document doc = Jsoup.parseBodyFragment(html);        String title = doc.select("title").text();        speechText = speechText.replaceFirst(title,"");        //删除图片名称        Elements imgs = doc.getElementsByClass("guid-img");        if (imgs != null && !imgs.isEmpty()) {            for(int i = 0;i < imgs.size();i++){                String image = imgs.get(i).text();                Log.i("YYYY","delete pic name " + image);                speechText = speechText.replaceAll(image,"");            }        }        //删掉表格        String table = doc.select("table").text();        table = table.replaceAll(" ","");        speechText = speechText.replaceAll(table,"");        //最后输出        Log.i("YYYY","final text = " + speechText);    }}
通过jsoup提取标签,需要在app的build.gradle中添加:
implementation 'org.jsoup:jsoup:1.9.2' 

更多相关文章

  1. 类和 Json对象
  2. Android(安卓)Activity界面切换添加动画特效
  3. "Failed to fetch URL https://dl-ssl.google.com/android/repos
  4. Android(安卓)流式布局FlowLayout(搜索历史),多布局、删除、添加
  5. Android中文API(144) —— JsonWriter
  6. Android(安卓)SDK Manager无法更新的解决
  7. Android之Handler用法总结
  8. android通过ksoap2对webservice的解析
  9. Android(安卓)Activity界面切换添加动画特效

随机推荐

  1. TextUtils类-Android字符串处理类
  2. Android: android自适应屏幕方向和大小
  3. xml ----editview
  4. Android(安卓)assets 目录介绍和应用
  5. Android应用程序内存优化
  6. Android(安卓)Framework中的PolicyManage
  7. Android编译过程详解(三)
  8. 查看Android进程内存资源信息
  9. php +MySQL +KSWEB Android(安卓)应用
  10. 【Android】Android(安卓)中string-array