惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
H
Help Net Security
F
Fortinet All Blogs
MyScale Blog
MyScale Blog
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 司徒正美
量子位
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recorded Future
Recorded Future
博客园 - 三生石上(FineUI控件)
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
I
InfoQ
Microsoft Security Blog
Microsoft Security Blog
Scott Helme
Scott Helme
The Last Watchdog
The Last Watchdog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家
AI
AI
WordPress大学
WordPress大学
Security Archives - TechRepublic
Security Archives - TechRepublic
Google Online Security Blog
Google Online Security Blog
U
Unit 42
V2EX - 技术
V2EX - 技术
MongoDB | Blog
MongoDB | Blog
Schneier on Security
Schneier on Security
博客园 - Franky
H
Heimdal Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Jina AI
Jina AI
W
WeLiveSecurity
P
Privacy & Cybersecurity Law Blog
Cloudbric
Cloudbric
B
Blog RSS Feed
N
News | PayPal Newsroom
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
Hacker News - Newest:
Hacker News - Newest: "LLM"
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园_首页
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
雷峰网
雷峰网

博客园 - 老枪

sql 修改时间 接近完美的CSS标题、列表溢出隐藏 - 老枪 - 博客园 通过js读取或设置FCKeditor中的值 - 老枪 - 博客园 access查找表是否存在 css 如何设置 某div 里面的所有图片的最大宽度。当加入文章里图片时,图片自动按比例减小。 高素质图片压缩 Asp.net把UTF-8编码转换为GB2312编码 检索COM类工厂中CLSID...”的两个错误的解决方法 检索COM类工厂中CLSID...”的两个错误的解决方法 111111 Lucene基于Java的全文检索引擎简介 sql2005 中文分词 - 老枪 - 博客园 gridview使用大全 ASP.NET程序中常用的三十三种代码 - 老枪 - 博客园 使用System.Web.Mail通过需验证的邮件服务器发送邮件 - 老枪 - 博客园 40种网页常用小技巧(javascript) - 老枪 - 博客园 SQL SERVER 2005 同步复制技术 网页制作之在线视频播放代码 - 老枪 - 博客园 常用javascript数据验 - 老枪 - 博客园 asp.net2.0中,使用gridview显示新闻标题
ASP.NET替换HTML代码<>中的任意代码 - 老枪 - 博客园
老枪 · 2008-07-22 · via 博客园 - 老枪

ASP.NET替换HTML代码<>中的任意代码

替换<>中的任意代码.
方法如下:
protected string DealTo(string ProcStr)
{
    string[] strarr ={ "onclick", "onmouseover", "onmouseout", "ondblclick", "ondisposed", "oninit", "onkeydown", "onkeyup", "onkeypress", "onload", "onmousedown", "onmousemove", "onmouseup", "onperender", "onunload" };
    //需要替换的代码数组,可以自定义
    string replaceto = "rpt";
    string reStr = "";
    reStr = ProcStr;
    for (int i = 0; i < strarr.Length; i++)
    {
        reStr = CheckAndDeal(reStr, strarr[i], replaceto);
    }
    return reStr;
}

protected string CheckAndDeal(string checkStr,string repStr,string replaceTo)
{
    int strIndex;
    int strLen = 0;
   
    strLen = checkStr.Length;
    string returnStr="";
    string tempReplaceTo = "ASDFGHJKL";
    //临时替换字符串,可以使用任何字符串代替,但是需要保证字符串不在要处理的字符串中出现
   
    if (strLen <= 0)
    {
        return "";
    }
    strIndex = checkStr.IndexOf(repStr);
    if (strIndex != -1)//等于或者小于0的情况不用判断.可以直接返回原来的字符串.
    {
        while (checkStr.IndexOf(repStr) != -1)//循环判断是否能够匹配替换字符串.
        {
            int indexOfGreat = -1;
            int indexOfLess = -1;
            strIndex = checkStr.IndexOf(repStr);
            char[] chArr = checkStr.ToCharArray();
            //查找字符<和>
            char coms = ' ';
            for (int i = strIndex - 1; i >= 0; i--)
            {
                //string s = checkStr.Substring(i , 1);
                coms = chArr[i];
                if (coms == '>')
                {
                    break;
                }
                else if (coms == '<')
                {
                    indexOfLess = i;
                    break;
                }
            }
            for (int i = strIndex; i < strLen; i++)
            {
                //string s = checkStr.Substring(i, 1);
                coms = chArr[i];
                if (coms == '<')
                {
                    break;
                }
                else if (coms == '>')
                {
                    indexOfGreat = i;
                    break;
                }
            }
            string subleft = "";
            string subright = "";
            subleft = checkStr.Substring(0, checkStr.IndexOf(repStr));
            subright = checkStr.Substring((checkStr.IndexOf(repStr) + repStr.Length));

            if (indexOfGreat > -1 && indexOfLess > -1 && indexOfGreat > indexOfLess && indexOfGreat < strLen)
            //如果符合在<>中,则替换,否则先将查找到的字符串替换成临时字符串.
            {
                checkStr = subleft + replaceTo + subright;
            }
            else
            {
                checkStr = subleft + tempReplaceTo + subright;
            }
        }
        checkStr = checkStr.Replace(tempReplaceTo, repStr);//将临时字符串替换回原来的字符串.
        returnStr = checkStr;
    }
    else
    {
        returnStr = checkStr;
    }
    return returnStr;
}