我想从使用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