java提取編輯器中視頻地址,處理騰訊視頻和優酷視頻

java提取編輯器中視頻地址
/**
     * 
    * @Title: replacePreTag 
    * @Description: 將自定義視頻標籤替換成void的
    * @author 凱哥Java
    * @param editContentStr
    * @return         * @return Map<String,Object>         * @throws      */     private Map<String,Object> replacePreTag(String editContentStr) {         Map<String,Object> map = new HashMap<String, Object>();         StringBuffer sbUrl = new StringBuffer();         String regStr = "<pre>([\\s\\S]*?)</pre>";//<pre>是自定義標籤         String urlStr = "(http|https)://([\\s\\S]*?)</";          Pattern r = Pattern.compile(regStr);          Pattern urlr = Pattern.compile(urlStr);          Matcher m = r.matcher(editContentStr);          List<VoidBean> listBean = new ArrayList<VoidBean>();                   while(m.find()){               Matcher mUrl = urlr.matcher( m.group(0));               if(mUrl.find()){                   String url = mUrl.group(0);                   listBean.add(new VoidBean(0,0,url.substring(0, url.length()-2),m.group(0)));               }          }               String mm ="";                             if(null != listBean && listBean.size()>0){                   for (int i = 0; i < listBean.size(); i++) {                       StringBuffer    sbCv = new StringBuffer();                       VoidBean vBean = listBean.get(i);                       String sn = vBean.getNewStr();                       if(i== listBean.size()-1){                           sbUrl.append(sn);                                                  }else{                           sbUrl.append(sn);                           sbUrl.append(",");                       }                       if("http:/".equals(sn.substring(0, 6))){                           String st = sn.substring(7, sn.length());                           String yuming = sn.substring(7, st.indexOf("/")+7);                           mm= yuming.substring(yuming.indexOf('.')+1,yuming.lastIndexOf('.'));                       }else if("https:".equals(sn.substring(0, 6))){                           String st = sn.substring(8, sn.length());                           String yuming = sn.substring(8, st.indexOf("/")+8);                           mm= yuming.substring(yuming.indexOf('.')+1,yuming.lastIndexOf('.'));                                                  }                      // System.err.println(mm);                       //進行視頻地址處理                       if("qq".equals(mm)){//騰訊視頻的                           String vid = "";                           if(sn.indexOf("?vid=")>0){//https://v.qq.com/x/cover/1t9erwhksw1w712.html?vid=w0022c2qlrm                                vid = sn.substring(sn.indexOf("?vid=")+5);                                                          }else {                               vid = sn.substring(sn.lastIndexOf('/')+1,sn.length()-5);                           }                                                            /* sbCv.append("<ure><embed src=\"https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=");                              sbCv.append(vid);                              sbCv.append("&auto=0\"");                              sbCv.append("allowFullScreen=\"true\" quality=\"high\" width=\"480\" height=\"400\" align=\"middle\" ");                              sbCv.append("allowScriptAccess=\"always\" type=\"application/x-shockwave-flash\"></embed></ure>");                             */                           sbCv.append("<ure><p style=\"text-align: center\"><iframe class=\"video_iframe\" style=\"z-index:1;\" ");                           sbCv.append("src=\"http://v.qq.com/iframe/player.html?vid=");                           sbCv.append(vid); //                          sbCv.append("&amp;width=500&amp;height=375&amp;auto=0\" allowfullscreen=\"\" frameborder=\"0\" height=\"375\" width=\"500\"></iframe></p></ure>");                           sbCv.append("&amp;auto=0\" allowfullscreen=\"\" frameborder=\"0\"></iframe></p></ure>");                              StringBuilder sbs = new StringBuilder(editContentStr);                               String preStr = vBean.getOldStr();                               String url = preStr.substring(0,preStr.length()-2);                               int  length = editContentStr.indexOf(url);//由於是從開始計數,因此加1                               int  end   = length+url.length()+2;//取得結束位置                               //進行替換                              if(-1!=length){                                  sbs.replace(length, end, sbCv.toString());                              }                               editContentStr= sbs.toString();                               if(i==listBean.size()-1){                                   map.put("true", "true");                                   map.put("msg", "");                                   map.put("urlList", sbUrl.toString());                                   map.put("editContentStr", editContentStr);                               }                                                     }else if("youku".equals(mm)){//優酷                           String vid = sn.substring(sn.indexOf("id_")+3, sn.indexOf(".html"));                              sbCv.append("<ure><embed src=\"http://player.youku.com/player.php/sid/");                              sbCv.append(vid); //                             sbCv.append("/v.swf\" quality=\"high\"  width=\"480\" height=\"400\"  ");                              sbCv.append("/v.swf\" quality=\"high\"  ");                              sbCv.append("align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\"></embed></ure>");                              StringBuilder sbs = new StringBuilder(editContentStr);                               String preStr = vBean.getOldStr();                               String url = preStr.substring(0,preStr.length()-2);                               int  length = editContentStr.indexOf(url);//由於是從開始計數,因此加1                               int  end   = length+url.length()+2;//取得結束位置                               //進行替換                               if(-1 != length){                                   sbs.replace(length, end, sbCv.toString());                               }                                                             editContentStr= sbs.toString();                               if(i==listBean.size()-1){                                   map.put("true", "true");                                   map.put("msg", "");                                   map.put("urlList", sbUrl.toString());                                   map.put("editContentStr", editContentStr);                               }                       }else{                           map.put("true", "false");                           map.put("msg", "請輸入正確的騰訊視頻地址或是優酷視頻地址。");                           map.put("urlList", "");                           map.put("editContentStr", editContentStr);                       }                                                                                      }                }else{                   map.put("true", "true");                   map.put("msg", "");                   map.put("urlList", "");                   map.put("editContentStr", editContentStr);                                  }                                            return map;     //    return editContentStr;                  /**          *           *                         String regStr = "<pre>([\\s\\S]*?)</pre>";             String urlStr = "http://([\\s\\S]*?)</";                           Pattern r = Pattern.compile(regStr);              Pattern urlr = Pattern.compile(urlStr);              Matcher m = r.matcher(editContentStr);                            List<VoidBean> listBean = new ArrayList<VoidBean>();               while(m.find()){                   Matcher mUrl = urlr.matcher( m.group(0));                   if(mUrl.find()){                       String url = mUrl.group(0);                       listBean.add(new VoidBean(0,0,url.substring(0, url.length()-2),m.group(0)));                   }                  //                }                             for (int i = 0; i <listBean.size(); i++) {                   StringBuilder sbs = new StringBuilder(editContentStr);                   VoidBean bean = listBean.get(i);                   String preStr = bean.getOldStr();                   String url = preStr.substring(0,preStr.length()-2);                   int  length = editContentStr.indexOf(url);//由於是從開始計數,因此加1                   int  end   = length+url.length()+2;//取得結束位置                  // System.out.print("第"+i+"個。開始位置:"+length+",  結束位置:"+end);                  // String newStr = "<video src=\""+bean.getNewStr()+"\"  poster=\"\" controls=\"controls\" preload=\"metadata\" webkit-playsinline=\"webkit-playsinline\" type=\"video/mp4\" > </video>";                   String newStr = "<div style=\"text-align:center;\" ><video src=\""+bean.getNewStr()+"\"  poster=\"\" controls=\"controls\"  > </video></div>";                                      //進行替換                  //System.out.println( sbs.subSequence(length, end));                   sbs.replace(length, end, newStr);                   editContentStr= sbs.toString();                                                  }                       return editContentStr;               */     }
相關文章
相關標籤/搜索