Advertisement
ipsBruno

(Javascript) replaceHTML ignorando HTML

Feb 12th, 2014
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. *
  3. * Função BETA
  4. * Fazer substituição de textos, ignorando os caracteres HTML!
  5. */
  6.  
  7. function replaceHTML(text, textReplace){
  8.  
  9.     var node = document.body.textContent;
  10.  
  11.  
  12.     var n = node.search(text) ;
  13.    
  14.     var c = 0;
  15.  
  16.     var i = -1;
  17.  
  18.     var z = 0;
  19.  
  20.     var f = 0;
  21.  
  22.     if(n != -1) {
  23.        
  24.        
  25.         var html =  document.body.innerHTML;
  26.  
  27.         var arr = html.split(' ');
  28.    
  29.         for(var x = 0; x < arr.length; x++) {
  30.  
  31.  
  32.             if(!isset(arr[x])) continue;
  33.  
  34.             z += (x + arr[x].length);
  35.  
  36.             idx = arr[x].replace(/<[^>]+>/ig,'');
  37.  
  38.  
  39.             if(idx.length == 0) continue;
  40.  
  41.             t = true;
  42.  
  43.             b = z;
  44.             for( ; b > -1; b--) {
  45.  
  46.                 if(html[b] == '<')  {
  47.                     t = false;
  48.                 }
  49.  
  50.                 if(html[b] == '>') {
  51.                     break;
  52.                 }
  53.  
  54.                
  55.             }
  56.  
  57.             for(b = z; b < html.length; b++) {
  58.  
  59.                 if(html[b] == '>') break;
  60.  
  61.                 z ++;
  62.             }
  63.    
  64.             if(idx.search(text.split(' ')[c]) != -1) {
  65.                
  66.                                
  67.                 if( c == 0 ) i = z - (x + arr[x].length);
  68.  
  69.                
  70.                 c ++;
  71.            
  72.  
  73.                 if( c == text.split(' ').length   ) {
  74.                     f = z ;
  75.  
  76.                     break; 
  77.                 }
  78.                    
  79.             }
  80.             else
  81.             {
  82.                 i = -1;
  83.                 c = 0;
  84.             }
  85.  
  86.         }
  87.  
  88.         if(i != -1) {
  89.  
  90.  
  91.             html = document.body.innerHTML;
  92.  
  93.  
  94.             output = "";
  95.  
  96.  
  97.             output = html.substr(0, i) + textReplace + html.substr(f);
  98.  
  99.        
  100.  
  101.            
  102.  
  103.              document.body.innerHTML = (output);
  104.            
  105.         }
  106.                
  107.     }
  108.    
  109.    
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement