JAVASCRIPT   124
htmlParser.js
Guest on 19th July 2021 03:49:48 PM


  1. var id,self=this;
  2. function parse(e){
  3.         var n,r=(e=e||{
  4.         }
  5.         ).html,t=e.WEBVIEW_SERVER_URL,a=e.mobile,i=e.native,s=[];
  6.         r.indexOf("<pre"),r.indexOf("<code"),r.indexOf("<script");
  7.         s.push(/([< \/][^>]*?>)((\s*[^<\s]+\s+?)+)([^<\s]+\s*)(<)/g),n=/(>)([^<\n]*?[^<]+?)(<[^\/])/g;
  8.         for(var f=0;
  9.         f<s.length;
  10.         f++){
  11.                 var c=s[f];
  12.                 r=r.replace(c,function(e,n){
  13.                         if(0<=n.indexOf('class="parsed'))return e;
  14.                         if(0==n.indexOf("<pre"))return e;
  15.                         if(0==n.indexOf("<code"))return e;
  16.                         if(0==n.indexOf("<script"))return e;
  17.                         var r="",t=arguments[2].split(" ");
  18.                         ""==t[t.length-1]&&t.splice(-1,1),t.push(arguments[4]);
  19.                         for(var a=0;
  20.                         a<t.length;
  21.                         a++){
  22.                                 var i=a==t.length-1?"":" ";
  23.                                 r+="<span>"+t[a]+i+"</span>"
  24. }
  25.                         return n+r+"<"
  26. }
  27.                 )
  28. }
  29.         n&&(r=r.replace(n,function(e,n){
  30.                 return arguments[2].trim()?n+("<span>"+arguments[2]+"</span>")+arguments[3]:e
  31. }
  32.         )),r=r.replace(/(<a [\s\S]*?)(>)/g,'$1 onclick="return false;
  33.         " $2'),i&&a&&(r=r.replace(/(<img[^>]*src=)"(.*?)"/g,function(e,n){
  34.                 var r=arguments[2];
  35.                 try{
  36.                         r=function(e){
  37.                                 return e?0!==e.indexOf("/")?0!==e.indexOf("file://")?0!==e.indexOf("content://")?e:t+e.replace("content:/","/_app_content_"):t+e.replace("file://","/_app_file_"):t+"/_app_file_"+e:e
  38. }
  39.                         (r)
  40. }
  41.                 catch(e){
  42.                 }
  43.                 return n+'"'+r+'"'
  44. }
  45.         )),self.postMessage({
  46.                 data:r,id:id
  47. }
  48.         )
  49. }
  50. self.addEventListener("message",function(e){
  51.         var n=e.data.func,r=e.data.params;
  52.         id=e.data.id,self[n].apply(self,r)
  53. }
  54. ,!1);
  55. var log=console.log;
  56. function clone(e){
  57.         if(null==e||"object"!=typeof e)return e;
  58.         var n=e.constructor();
  59.         for(var r in e)e.hasOwnProperty(r)&&(n[r]=clone(e[r]));
  60.         return n
  61. }

Raw Paste

Login or Register to edit or fork this paste. It's free.