首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么用正则替换css文件路径

2013-02-17 
如何用正则替换css文件路径 例如: link hrefcss/main.css typetext/css relstylesheet替换成l

如何用正则替换css文件路径
 例如: <link href="css/main.css" type="text/css" rel="stylesheet">
替换成
<link href="/path1/path2/css/main.css" type="text/css" rel="stylesheet">
请问这样如何替换呢 css stylesheet 正则 替换 路径
[解决办法]
 string str = "<link href="css/main.css" type="text/css" rel="stylesheet">";
            str = Regex.Replace(str, @"(?is)(<link[^>]*?href=[""'])([^""']+)([^>]+>)", "$1/path1/path2/$2$3");
          
[解决办法]
(?i)(?<=<link\s*href=")([^"]+?)(?="[^>]*?>)
string str=@"<link href=""css/main.css"" type=""text/css"" rel=""stylesheet"">";
str=Regex.Replace(str,@"(?i)(?<=<link\s*href="")([^""]+?)(?=""[^>]*?>)",@"/path1/path2/css/main.css");
[解决办法]

 string tempStr = File.ReadAllText(@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("GB2312"));//读取txt
                string pattern = @"(?i)(?<=<link[^>]*?href=['""])(?:[^/'""]*?/)+([^'""]+?\.[^'""]+?)(?=['""])";
                tempStr = Regex.Replace(tempStr, pattern, "/path1/path2/css/$1");
                /*
                 *  <link href="/path1/path2/css/main.css" type=""text/css"" rel=""stylesheet"">或者
                    <link href="/path1/path2/css/main1.css" type=""text/css"" rel=""stylesheet"">又或者
                    <link href="/path1/path2/css/main2.css" type=""text/css"" rel=""stylesheet"">
                 */
                //

热点排行