99久久免费国产精品-天天爽夜夜爽夜夜爽-色噜噜久久综合伊人一本-国产无遮挡又黄又爽免费视频

在線客服:  

「南寧煙寒網絡」提供南寧網站建設、網站策劃、南寧網頁制作、網站設計、網站改版、南寧SEO優化、網站維護、南寧網站優化、南寧網站推廣、廣告設計等服務..

咨詢熱線

在線客服

24小時免費咨詢電話:18978941786

客服時間:上午9:30~下午6點

當前位置:首頁>> 技術文章 >> NET學習 >> ASP.net 關健詞加鏈接

ASP.net 關健詞加鏈接

收藏 分享 發布日期:2012-2-12 16:30:51    編輯:admin  文章來源:  點擊率:

/// <summary> 
    /// 為關鍵詞加上超鏈接 
    /// </summary> 
    /// e.g.:  
    /// string result=GetInnertLink("<a href="http//www.baidu.com" mce_href="http/www.baidu.com">Ningxi</a>Xi過得<span>XI<span>好<a href="http://www.lidajijin.com" mce_href=
    /// <param name="htmlcode">要把關鍵詞加上超鏈接的html源文本</param> 
    /// <param name="keyword">將要加上超鏈接的關鍵詞</param> 
    /// <param name="title">將要加上的超鏈接的描文本</param> 
    /// <param name="url">將要加上的超鏈接的url地址</param> 
    /// <param name="target">將要加上的超鏈接的打開方式</param> 
    /// <param name="num">為html文本內的前num個關鍵詞加上超鏈接,0代表全加上超鏈接</param> 
    /// <returns>返回為關鍵詞加上超鏈接后的html文本</returns> 
    public static string GetInnertLink(string htmlcode, string keyword, string title, string url, string target, int num)
    {
        string htmlcodeResult = htmlcode;  //用于保存最新的html文本
        string htmlcodeLower = htmlcodeResult.ToLower();  //用于保存最新的Hmtl文本的小寫,方便不分大小寫找出關鍵詞
        string keywordResult = "";  //用于保存關鍵詞的原來面貌,可能是大寫,或者有大也有小
        int keyIndex = 0;           //關鍵詞所在位置
        int currentIndex = 0;       //每次搜索關鍵詞的開始位置
        int currentNum = 0;         //保存當前加上了多少個有效超鏈接
        int LBracketIndex = 0;      //左尖括號<位置
        int RBracketIndex = 0;      //右尖括號>位置
        if (num == 0)
        {
            num = htmlcode.Length;
        }
        while (currentIndex <= htmlcodeLower.Length && currentNum < num)
        {
            if (htmlcodeLower.IndexOf(keyword.ToLower(), currentIndex) > -1)
            {
                keyIndex = htmlcodeLower.IndexOf(keyword.ToLower(), currentIndex);
                LBracketIndex = keyIndex;
                do
                {
                    LBracketIndex = htmlcodeLower.LastIndexOf("<", LBracketIndex - 1, LBracketIndex - currentIndex);
                }
                while (LBracketIndex != -1 && htmlcodeLower.Substring(LBracketIndex + 1, 1) == "/");
                RBracketIndex = htmlcodeLower.LastIndexOf(">", keyIndex - 1, keyIndex - currentIndex);
                if (LBracketIndex <= RBracketIndex)
                {
                    //不在標簽的屬性內,可以有在標簽開始與結束標志內,或在開始與結束標志外 
                    LBracketIndex = htmlcodeLower.LastIndexOf("<", keyIndex - 1, keyIndex - currentIndex);
                    if (LBracketIndex != -1 && htmlcodeLower.Substring(LBracketIndex + 1, 1) != "/")
                    {
                        //在開始與結束標志內 
                        //關鍵詞在開始標簽與結束標簽內,要再判定是不是a標簽或pre標簽 
                        if (htmlcodeLower.Substring(LBracketIndex + 1, 1) == "a" || htmlcodeLower.Substring(LBracketIndex + 3, 3) == "pre")
                        {
                            //關鍵詞在開始與結束a標簽或pre標簽內,不可加超鏈接,循環再來 
                            currentIndex = keyIndex + keyword.Length;
                        }
                        else
                        {
                            //可以加超鏈接 
                            keywordResult = htmlcodeResult.Substring(keyIndex, keyword.Length);
                            htmlcodeResult = htmlcodeResult.Remove(keyIndex, keyword.Length);
                            htmlcodeResult = htmlcodeResult.Insert(keyIndex, "<a href='" + url + "'  title='" + title + "' target='" + target + "'>" + keywordResult + "</a>");
                            htmlcodeLower = htmlcodeResult.ToLower();
                            currentIndex = htmlcodeResult.IndexOf("</a>", keyIndex) + 4;
                            currentNum += 1;
                        }
                    }
                    else if ((RBracketIndex = htmlcodeLower.LastIndexOf(">", keyIndex - 1, keyIndex - currentIndex)) != -1)
                    {
                        //
                        // 當查找范圍內存在'>'標簽則說明在一個靜態控件中則需要判斷這個控件是否是a標簽
                        //
                        if (htmlcodeLower.Substring(htmlcodeLower.IndexOf('<', currentIndex) + 1, 2) == "/a")
                        {
                            //關鍵詞在a標簽內則不能添加超鏈接
                            currentIndex = keyIndex + keyword.Length;
                        }
                    }
                    else
                    {
                        //在結束標志外,可以加超鏈接 
                        keywordResult = htmlcodeResult.Substring(keyIndex, keyword.Length);
                        htmlcodeResult = htmlcodeResult.Remove(keyIndex, keyword.Length);
                        htmlcodeResult = htmlcodeResult.Insert(keyIndex, "<a href='" + url + "' title='" + title + "' target='" + target + "'>" + keywordResult + "</a>");
                        htmlcodeLower = htmlcodeResult.ToLower();
                        currentIndex = htmlcodeResult.IndexOf("</a>", keyIndex) + 4;
                        currentNum += 1;
                    }
                }
                else
                {
                    //關鍵詞是標簽內的屬性值,不可加超鏈接,循環再來 
                    currentIndex = keyIndex + keyword.Length;
                }
            }
            else
            {
                currentIndex = htmlcodeLower.Length + 1;
            }
        }
        return htmlcodeResult;
    } 本文章由
南寧網站建設、南寧網站優化、南寧網絡公司整理,轉載請注明出處:http://www.lidajijin.com/

關于我們 | 域名主機 | 建站套餐 | 企業動態 | 成功案例 | 網站推廣 | 建站知識 | 常見問題 | 聯系我們

南寧煙寒網絡竭誠為您免費提供南寧網站建設南寧網站設計南寧網站優化、維護以及網站技術很方面的網絡服務!

南寧網站建設、南寧網絡公司咨詢熱線電話:0771-5306126 18967841786(24小時全天電話)

煙寒網絡 - 讓你進一步走向成功

主站蜘蛛池模板: 日韩内射美女人妻一区二区三区 | 亚洲日韩精品无码专区加勒比| 一区二区三区国产亚洲网站| 在线播放免费人成毛片试看| 日本牲交大片无遮挡| 午夜视频在线瓜伦| 污18禁污色黄网站| 免费超爽大片黄| 免费无码不卡视频在线观看| 亚洲欧美一区二区成人片| 成人免费a级毛片无码片2022| 国产精品国产三级国产av剧情| 2023亚洲男人天堂| 永久在线观看免费视频| 精品乱码久久久久久中文字幕| 国产精品久久久久9999高清| 精品久久久久久久免费人妻| 亚洲国产成人av网站| 人妻少妇被猛烈进入中文字幕| 肥老熟妇伦子伦456视频| 欧美xxxxx在线观看| 久久久噜噜噜www成人网| 亚洲一区无码中文字幕| 日本少妇春药特殊按摩3| 台湾佬中文娱乐22vvvv| 国产成人一区二区三区| 亚洲av首页在线| 亚洲视频在线观看| 亚洲av无码av男人的天堂| 人妻aⅴ无码一区二区三区| 短裙公车被强好爽h吃奶视频| 国产乱人伦真实精品视频| 一本色道久久综合亚洲精品| 午夜无码福利伦利理免| 制服 丝袜 亚洲 中文 综合| 亚洲av无码精品色午夜蛋壳| 国产aⅴ无码专区亚洲av麻豆| 狠狠亚洲狠狠欧洲2019| 久久天天躁狠狠躁夜夜爽| 宝贝腿开大点我添添公视频免| 成人小说亚洲一区二区三区|