.NET 从 HTML 页面中删除剥离 JavaScript 和 CSS 代码块

regexJavaCSS

1个回答

写回答

宇智波鬼蛟

2025-06-28 22:30

+ 关注

Java
Java

使用.NET从HTML页面中删除/剥离JavaScript和CSS代码块

在现代Web开发中,JavaScript和CSS是不可或缺的一部分。然而,有时我们可能需要从HTML页面中删除或剥离这些代码块,以便进一步处理或提取页面的其他内容。在本文中,我们将探讨如何使用.NET来实现这一目标。

案例代码

首先,让我们看一个简单的HTML页面示例,其中包含一些JavaScript和CSS代码块:

html

<!DOCTYPE html>

<html>

<head>

<title>示例页面</title>

<style>

body {

background-color: lightblue;

}

</style>

<script>

function sayHello() {

alert("Hello!");

}

</script>

</head>

<body>

<h1>Welcome!</h1>

<button onclick="sayHello()">Say Hello</button>

</body>

</html>

我们的目标是从上面的HTML页面中删除或剥离掉JavaScript和CSS代码块,只保留纯粹的HTML内容。

删除JavaScript代码块

要删除JavaScript代码块,我们可以使用.NET的正则表达式功能。以下是一个示例代码,演示了如何使用C#来删除JavaScript代码块:

csharp

using System;

using System.Text.RegularExpressions;

public class Program

{

public static void MAIn()

{

string html = @"<!DOCTYPE html>

<html>

<head>

<title>示例页面</title>

<style>

body {

background-color: lightblue;

}

</style>

<script>

function sayHello() {

alert('Hello!');

}

</script>

</head>

<body>

<h1>Welcome!</h1>

<button onclick='sayHello()'>Say Hello</button>

</body>

</html>";

string pattern = @"<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>";

string result = RegEx.Replace(html, pattern, string.Empty);

Console.WriteLine(result);

}

}

上面的代码使用了一个正则表达式模式来匹配包含JavaScript代码块的