正則表達式簡單使用_找到a標籤將連接地址轉碼

Regex reg = new Regex("<a//s*href//s*=//s*[/"|'](.*)[/"|'](>){1}"); //匹配 <a  href ="*" >
Regex regHref = new Regex("path=(.*)[/"|']"); //匹配 path="*"
string strNewsContentTemp = FCKeditor_NewsEditor.Value; //abc< a href="/a/b/c.aspx?path=/中文.aspx">abc</a> bc

string yuan="";
string mu = "";

MatchCollection matches = reg.Matches(strNewsContentTemp); //匹配<a  href ="" >結果的集合

for (int i = 0; i < matches.Count;i++ )
{

    yuan = matches[i].Value; //< a href="/a/b/c.aspx?path=/中文.aspx">
    if (regHref.IsMatch(yuan)) //如果含有path="*"
    {
        string hrefYuan = regHref.Matches(yuan)[0].Value;  //  path=/中文.aspx"
        hrefYuan = hrefYuan.Substring(0, hrefYuan.Length - 1); //  path=/中文.aspx
        hrefYuan = hrefYuan.Substring(6); //  中文.aspx
        string hrefMu = Server.UrlEncode(hrefYuan);  //轉碼

        mu = yuan.Replace(hrefYuan, hrefMu);  //替換字符串 不認識的.aspx
        strNewsContentTemp = strNewsContentTemp.Replace(yuan, mu);  //將< a href="/a/b/c.aspx?path=/中文.aspx">中的中文.aspx換成 不認識的.aspx
        }
}

News.NewsContent = strNewsContentTemp;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章