私は、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アジリティパック](http://htmlagilitypack.codeplex.com/)を使用する必要があります。 – Bobby
私はあなたがスクリプトだけを手に入れたいと思っているから、スクリプト以外のものは何ですか? – ub1k
私はHTMLとスクリプトを取得しますが、スクリプトタグのhavは消えました。 – Jerodev