2012-03-29 14 views
4

Dieser Code wird Daten HTML und sollten alle JavaScript-InhalteJavascript regexp Modifikatoren

$.ajax({ 
    url: url, 
    success: function(data){ 
     data = data.replace(/<script.*?<\/sc/mg,''); 
     alert(data); 
    }, 
    dataType: 'html' 
}); 

ersetzen Aber es ist Javascript-Code in der

data

.....</div><!-- end header --> 
<div id="snapshot"> 
    <a href="?cat=<div style=&panel=center" id="leftNav" class="navlink"><i class="icon-previous icon-large white"></i></a> 

    <a href="?cat=<div style=&panel=left" id="rightNav" class="navlink"><i class="icon-next icon-large white"></i></a> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $('body').append('<div id="loaded_page"></div>'); 
    url = $('#leftNav').attr('href') 
    $.ajax({ 
     url: url, 
     success: function(data){ 
      data = data.replace(/<script.*?<\/sc/mgi,''); 
      alert(data); 
     }, 
     dataType: 'html' 
    }); 

    return; 
</script> 
    .................... 
bleiben also
.....</div><!-- end header --> 
<div id="snapshot"> 
    <a href="?cat=<div style=&panel=center" id="leftNav" class="navlink"><i class="icon-previous icon-large white"></i></a> 

    <a href="?cat=<div style=&panel=left" id="rightNav" class="navlink"><i class="icon-next icon-large white"></i></a> 
sein

Ich brauche führen

alles Javascript sollte geschnitten werden. Regexp data.replace(/<script.*?<\/sc/mg,'') ersetzt Dinge, die in einem eine Zeile sind nur

+1

und was ist das Datenformat, das Sie regexp müssen? –

+0

Regexp funktioniert nicht, es sollte ersetzen

Antwort

1

* funktioniert nicht in Javascript über neue Zeilen. Stattdessen verwenden Sie [\ s \ S] *

Hier ist die regex:

/<script[\s\S]*?</script>/i 
0

Dies ist, was Sie suchen:

var html = "<html><head><script src='http://jquery.js'></script>\n<script src='http://jquery.js'></script></head><body>I m legend</body></html>"; 
html.replace(/<script.*?<\/script>/gi,''); 

Dies wird zurückkehren.

"<html><head> 
</head><body>I m legend</body></html>" 
+0

Wenn Sie alle neuen Zeilen zu brechen, wird es nicht funktionieren. Benutze \ n nicht –