首页 > 编程语言 >C# 批量替换html里面的http链接

C# 批量替换html里面的http链接

时间:2024-12-16 22:57:53浏览次数:7  
标签:Regex http C# System content html RegexOptions using

C# 批量替换html里面的http链接

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ProgressBar;

namespace 批量替换文件html
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btn_chose_Click(object sender, EventArgs e)
        {
            string selectedFolderPath = SelectFolder();
            if (!string.IsNullOrEmpty(selectedFolderPath))
            {
                // 用户选择了文件夹,并且可以使用selectedFolderPath
                //MessageBox.Show("选择的文件夹路径: " + selectedFolderPath);
                tbx_LJ.Text = selectedFolderPath;
            }
            else
            {
                MessageBox.Show("没有选择文件夹");
            }
        }

        public static string SelectFolder()
        {
            using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog())
            {
                folderBrowserDialog.Description = "请选择一个文件夹";
                DialogResult dialogResult = folderBrowserDialog.ShowDialog();

                if (dialogResult == DialogResult.OK)
                {
                    return folderBrowserDialog.SelectedPath;
                }
                else
                {
                    return string.Empty;
                }
            }
        }
        public int count = 0;
        private void button1_Click(object sender, EventArgs e)
        {
            string folderPath = @tbx_LJ.Text;
            string[] htmlFiles = Directory.GetFiles(folderPath, "*.html", SearchOption.AllDirectories);

            foreach (string file in htmlFiles)
            {

                textBox1.AppendText(file+"\r\n");

                count++;
                lbl_count.Text = count.ToString() + "个";
                Application.DoEvents();
                //timer1.Enabled = true;
                string content = File.ReadAllText(file);
                content = Regex.Replace(content, @"href='https:\/\/[^""]+", "href=\"", RegexOptions.IgnoreCase);
                // // 删除href属性中的http链接
                content = Regex.Replace(content, @"href=""http:\/\/[^""]+", "href=\"", RegexOptions.IgnoreCase);

                // //删除style属性中的url里的http链接
                content = Regex.Replace(content, @"url\(http:\/\/[^)]+\)", "url(#)", RegexOptions.IgnoreCase);

                // //删除style属性中的url里的http链接
                content = Regex.Replace(content, @"src=""http:\/\/[^""]+", "src=\"", RegexOptions.IgnoreCase);

                // // 删除href属性中的http链接
                content = Regex.Replace(content, @"href=""https:\/\/[^""]+", "href=\"", RegexOptions.IgnoreCase);

                // //删除style属性中的url里的http链接
                content = Regex.Replace(content, @"url\(https:\/\/[^)]+\)", "url(#)", RegexOptions.IgnoreCase);

                // //删除style属性中的url里的http链接
                content = Regex.Replace(content, @"src=""https:\/\/[^""]+", "src=\"", RegexOptions.IgnoreCase);

                // //删除style属性中的url里的http链接
                content = Regex.Replace(content, @"src=""https:\/\/[^""]+", "src=\"", RegexOptions.IgnoreCase);

                content = Regex.Replace(content, @"action=""https:\/\/[^""]+", "action=\"", RegexOptions.IgnoreCase);

                content = Regex.Replace(content, @"hm.src=""https:\/\/[^""]+", "hm.src=\"", RegexOptions.IgnoreCase);

                File.WriteAllText(file, content);
                //timer1.Enabled = true;
            }

        }
        public string filename;
        private void timer1_Tick(object sender, EventArgs e)
        {

        }
    }
}


源码下载:
https://download.csdn.net/download/weixin_43050480/90140030

标签:Regex,http,C#,System,content,html,RegexOptions,using
From: https://blog.csdn.net/weixin_43050480/article/details/144519001

相关文章

  • YOLOv10改进,YOLOv10利用DLKAttention融合DCNv3、DCNv4形成全新的可变形大核注意力,并二
    理论介绍完成本篇需要参考以下三篇文章,并已添加到YOLOv10代码中YOLOv10改进,YOLOv10添加DCNv3可变性卷积与C2f结构融合(无需编译)YOLOv10改进,YOLOv10添加DCNv4可变性卷积(windows系统成功编译),全网最详细教程YOLOv10改进,YOLOv10添加DLKA-Attention可变形大核注意力,WA......
  • Spring Cloud 负载均衡配置 (@LoadBalanced)
    一、负载均衡目前是两种Ribbon和spring-cloud-loadbalancer-Ribbon已经闭源配置策略较多:轮询,随机,权重,自定义四种负载均衡方案配置方式yml注解-spring-cloud-loadbalancer属于springcloud,项目兼容性更好配置策略:更注重自定义(默认为轮询)配置方式注解......
  • Minimum Operations to Make Character Frequencies Equal
    MinimumOperationstoMakeCharacterFrequenciesEqualYouaregivenastring s.Astring t iscalled good ifallcharactersof t occurthesamenumberoftimes.Youcanperformthefollowingoperations anynumberoftimes:Deleteacharacterfrom s......
  • AGC 做题记录
    感觉自己没啥思维,所以做一做AGC。E-BBQHard答案即为:\[\left(\sum_{1\lei\len}\sum_{1\lej\len}\binom{a_i+a_j+b_i+b_j}{a_i+a_j}-\sum_{1\lei\len}\binom{2a_i+2b_i}{2a_i}\right)\times\frac{1}{2}\]现在的问题就是求出前面那一坨:\[\begin......
  • 实验6 C语言结构体、枚举应用编程
    实验6C语言结构体、枚举应用编程实验任务1——学生信息处理//P286例8.17//对教材示例代码作了微调,把输出学生信息单独编写成一个函数模块//打印不及格学生信息、打印所有学生信息均调用该模块实现#include<stdio.h>#include<string.h>#defineN3 //运行程序输入......
  • C++编程:使用树莓派Pico制作光控小夜灯
    在智能家居系统中,光控设备通过环境光强度的变化自动调节设备的状态,具有广泛的应用。常见的应用场景包括自动开关灯、调节LED亮度等。本项目基于树莓派Pico开发板,通过光敏电阻检测环境光强度,并利用PWM调光控制LED亮度,实现一个简单的光控小夜灯。本文将深入解析光敏电阻的原理及......
  • 【数据分享】2008-2023年我国省市县三级的逐日NO2数据(免费获取\excel\shp格式)
    空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2023年的省市县三级的逐日PM2.5数据、2000-2023年的省市县三级的逐日PM10数据、2013-2023年的省市县三级的逐日SO2数据和2000-2023年省市县三级的逐日O3数据(可查看之前的文章获悉详情)!本次我们分享的是......
  • 为什么越来越多的在校大学生在报考CISP-PTE?
    近年来,随着网络安全领域的不断发展,越来越多的高校开始设立网络安全相关专业,旨在为国家培养专业人才。同时,随着培训市场的不断壮大和完善,以及企业对于网络安全人才需求的逐步扩大,网络安全行业的人才需求逐渐趋于正规化和流程化。越来越多的企业希望招聘到具备一定技术实力和......
  • docker安装mysql5.7
    1、宿主机创建映射目录mkdir-p/data/mysql/logmkdir-p/data/mysql/datamkdir-p/data/mysql/conf这里我放在了/data/mysql目录下2、拉取mysql镜像dockerpullmysql:5.7注意是5.7版本,如果是8版本操作会略有不同,下篇文章介绍安装8版本的操作。查看镜像docker......
  • [USACO06NOV] Corn Fields G
    题目Description农场主 John 新买了一块长方形的新牧场,这块牧场被划分成 M 行 N列 (1≤M≤12,1≤N≤12),每一格都是一块正方形的土地。 John 打算在牧场上的某几格里种上美味的草,供他的奶牛们享用。遗憾的是,有些土地相当贫瘠,不能用来种草。并且,奶牛们喜欢独占一块草地......