我想從使用C#和正則表達式的html文件中獲取javascript代碼。 我現在使用的代碼如下:從html文件獲取javascript代碼
string js = Regex.Replace(code, @"^.*?\<script\s?.*?\>((.|\r\n)+?)\<\/script\>.*$", "$1", RegexOptions.Multiline);
但是當我使用這個我得到剝去腳本標籤完整的HTML代碼。
有人可以幫助我嗎?
我現在使用的HTML敏捷包用下面的代碼:
var hwObject = new HtmlWeb();
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(code);
foreach (var script in doc.DocumentNode.Descendants("script").ToArray())
{
string js = script.InnerText;
HtmlTextNode text = (HtmlTextNode)script.ChildNodes.Single(d => d.NodeType == HtmlNodeType.Text);
text.Text = TrimJs(js);
}
但只有最後一個腳本代碼中獲得的替換。之前的javascripts消失。
如果您可以自由決定這個決定,我會說您應該使用[HTML Agility Pack](http://htmlagilitypack.codeplex.com/)。 – Bobby
從我的理解你只想得到腳本,你得到的只是腳本的一切嗎? – ub1k
我得到的HTML和腳本,但腳本標籤已經消失。 – Jerodev