国产高清一区二区在线_免费看肥胖女人做爰高清全过情_日韩少妇高潮抽搐_性生生活大片又黄又_粉嫩蜜臀av国产精品网站_搞黄视频免费_亚洲成a人一区二区三区_屁股翘起来趴好挨c_少妇一夜爽免费看_日本护士高潮大叫

首頁>> 開發(fā)技術(shù)知識(shí)>> 網(wǎng)站建站知識(shí)>>ASP.net 關(guān)健詞加鏈接


ASP.net 關(guān)健詞加鏈接

/// <summary> 
    /// 為關(guān)鍵詞加上超鏈接 
    /// </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://m.absorbed3d.com" mce_href=
    /// <param name="htmlcode">要把關(guān)鍵詞加上超鏈接的html源文本</param> 
    /// <param name="keyword">將要加上超鏈接的關(guān)鍵詞</param> 
    /// <param name="title">將要加上的超鏈接的描文本</param> 
    /// <param name="url">將要加上的超鏈接的url地址</param> 
    /// <param name="target">將要加上的超鏈接的打開方式</param> 
    /// <param name="num">為html文本內(nèi)的前num個(gè)關(guān)鍵詞加上超鏈接,0代表全加上超鏈接</param> 
    /// <returns>返回為關(guān)鍵詞加上超鏈接后的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文本的小寫,方便不分大小寫找出關(guān)鍵詞
        string keywordResult = "";  //用于保存關(guān)鍵詞的原來面貌,可能是大寫,或者有大也有小
        int keyIndex = 0;           //關(guān)鍵詞所在位置
        int currentIndex = 0;       //每次搜索關(guān)鍵詞的開始位置
        int currentNum = 0;         //保存當(dāng)前加上了多少個(gè)有效超鏈接
        int LBracketIndex = 0;      //左尖括號(hào)<位置
        int RBracketIndex = 0;      //右尖括號(hào)>位置
        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)
                {
                    //不在標(biāo)簽的屬性內(nèi),可以有在標(biāo)簽開始與結(jié)束標(biāo)志內(nèi),或在開始與結(jié)束標(biāo)志外 
                    LBracketIndex = htmlcodeLower.LastIndexOf("<", keyIndex - 1, keyIndex - currentIndex);
                    if (LBracketIndex != -1 && htmlcodeLower.Substring(LBracketIndex + 1, 1) != "/")
                    {
                        //在開始與結(jié)束標(biāo)志內(nèi) 
                        //關(guān)鍵詞在開始標(biāo)簽與結(jié)束標(biāo)簽內(nèi),要再判定是不是a標(biāo)簽或pre標(biāo)簽 
                        if (htmlcodeLower.Substring(LBracketIndex + 1, 1) == "a" || htmlcodeLower.Substring(LBracketIndex + 3, 3) == "pre")
                        {
                            //關(guān)鍵詞在開始與結(jié)束a標(biāo)簽或pre標(biāo)簽內(nèi),不可加超鏈接,循環(huán)再來 
                            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)
                    {
                        //
                        // 當(dāng)查找范圍內(nèi)存在''>''標(biāo)簽則說明在一個(gè)靜態(tài)控件中則需要判斷這個(gè)控件是否是a標(biāo)簽
                        //
                        if (htmlcodeLower.Substring(htmlcodeLower.IndexOf(''<'', currentIndex) + 1, 2) == "/a")
                        {
                            //關(guān)鍵詞在a標(biāo)簽內(nèi)則不能添加超鏈接
                            currentIndex = keyIndex + keyword.Length;
                        }
                    }
                    else
                    {
                        //在結(jié)束標(biāo)志外,可以加超鏈接 
                        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
                {
                    //關(guān)鍵詞是標(biāo)簽內(nèi)的屬性值,不可加超鏈接,循環(huán)再來 
                    currentIndex = keyIndex + keyword.Length;
                }
            }
            else
            {
                currentIndex = htmlcodeLower.Length + 1;
            }
        }
        return htmlcodeResult;
    }

分享聯(lián)系我們

掃二維碼與項(xiàng)目經(jīng)理溝通 我們?cè)谖⑿派?4小時(shí)期待你的聲音

感謝您的關(guān)注分享“ASP.net 關(guān)健詞加鏈接”
煙寒網(wǎng)絡(luò)真誠(chéng)為您服務(wù) ,點(diǎn)擊客服直接咨詢下單.

我們服務(wù)

南寧網(wǎng)絡(luò)公司南寧網(wǎng)站建設(shè)

網(wǎng)站建設(shè)

高端網(wǎng)站建設(shè)服務(wù)商、相信品牌力量、相信知名企業(yè);制作后收費(fèi)13014982176!

南寧微信小程序/微信公眾號(hào)

微信小程序/微信公眾號(hào)

微信小程序 背靠10億流量,不論用戶需求是什么,都能被開發(fā)使用 一點(diǎn)創(chuàng)意,就能在“社交圈”中脫穎而出。

南寧網(wǎng)站優(yōu)化/SEO

網(wǎng)站優(yōu)化/SEO

讓您的網(wǎng)站更靠近排名位置,讓客戶更容易找到您,seo優(yōu)化是一個(gè)漫長(zhǎng)過程,整個(gè)網(wǎng)站營(yíng)銷花最少的錢起最大的作用。

欄目分類

南寧網(wǎng)站建設(shè)
網(wǎng)站建設(shè)建設(shè)知識(shí)

熱點(diǎn)標(biāo)簽

網(wǎng)站建設(shè) 品牌設(shè)計(jì) 微信小程序 網(wǎng)站優(yōu)化 平面廣告設(shè)計(jì)知識(shí) 網(wǎng)站優(yōu)化技術(shù) 網(wǎng)站建站知識(shí) 網(wǎng)站模板分享 微信公眾號(hào)開發(fā) 小程序技術(shù) APP應(yīng)用

我們服務(wù)客戶


企業(yè)形象網(wǎng)站、個(gè)人博客、政府門戶網(wǎng)站、新聞傳媒網(wǎng)站最省錢、省時(shí)、省備案 建站快、效率高更多服務(wù)
廣西華崧集團(tuán)網(wǎng)站品牌設(shè)計(jì)

廣西華崧集團(tuán)網(wǎng)站品牌設(shè)計(jì)

廣西華崧林業(yè)發(fā)展集團(tuán)(以下簡(jiǎn)稱華崧集團(tuán))組建于2017年8月,集團(tuán)總部位于廣西壯...

廣西大和平房地產(chǎn)有限公司

廣西大和平房地產(chǎn)有限公司

廣西鴻生源環(huán)?萍加邢薰

廣西鴻生源環(huán)?萍加邢薰