62,266
社区成员
发帖
与我相关
我的任务
分享
<li>
<a href="#" ><img sc=""/></a>
<a href="#" >十一运会门票低价销售</a>
<p class="desc">青岛赛区票价均不高于上全运会</p>
</li>
<li>
<a href="#"><img sc=""/></a>
<a href="#">宝姿大型特卖会3到6折</a>
<p class="desc">您想品尝香浓幼滑的特色</p>
</li>
<li>
<a href="#" id="href1" ctype="image"><img sc=""/></a>
<a href="#" id="href2" ctype="href">十一运会门票低价销售</a>
<p class="desc" style="cursor:pointer" id="desc1" ctype="desc">青岛赛区票价均不高于上全运会</p>
</li>
<li>
<a href="#" id="href3" ctype="image"><img sc=""/></a>
<a href="#" id="href4" ctype="href">宝姿大型特卖会3到6折</a>
<p class="desc" style="cursor:pointer" id="desc2" ctype="desc">您想品尝香浓幼滑的特色</p>
</li>
<li>
<a href="http://www.abc.com" ><img sc=""/></a>
<a href="http://www.abc.com" >十一运会门票低价销售</a>
<p class="desc">青岛赛区票价均不高于上全运会</p>
</li>
<li>
<a href="http://www.abc.com"><img sc=""/></a>
<a href="http://www.abc.com">宝姿大型特卖会3到6折</a>
<p class="desc">您想品尝香浓幼滑的特色</p>
</li>
<li>
<a href="#" id="href1" ctype="image"><img sc=""/></a>
<a href="#" id="href2" ctype="href">文字1</a>
<p class="desc" id="desc1" ctype="desc">描述1</p>
</li>
<li>
<a href="#" id="href3" ctype="image"><img sc=""/></a>
<a href="#" id="href4" ctype="href">文字2</a>
<p class="desc" id="desc2" ctype="desc">描述2</p>
</li>
string test = @"<li>
<a href=""http://www.abc.com"" ><img sc=""""/></a>
<a href=""http://www.abc.com"" >十一运会门票低价销售</a>
<p class=""desc"">青岛赛区票价均不高于上全运会</p>
</li>
<li>
<a href=""http://www.abc.com""><img sc=""""/></a>
<a href=""http://www.abc.com"">宝姿大型特卖会3到6折</a>
<p class=""desc"">您想品尝香浓幼滑的特色</p>
</li>";
int hNum, pNum;
hNum = pNum = 0;
string temp = string.Empty;
Regex regA = new Regex(@"(?i)href=""[^""]*""");
Regex reg = new Regex(@"(?is)(?<he><(?<tag>[ap])\b\s*(?<cl>class=""desc"")?[^>]*)>(?<en>\s*(?<img><img[^>]*>)?(?:(?!</?[ap]\b).)*</[ap]>)");
string result = reg.Replace(test, delegate(Match m)
{
temp = m.Groups["he"].Value;
if (m.Groups["tag"].Value.ToLower() == "a")
{
hNum++;
temp = regA.Replace(temp, "href=\"#\"") + " id=\"href" + hNum + "\"";
if (m.Groups["img"].Value != "")
{
temp += " ctype=\"image\">";
}
else
{
temp += " ctype=\"href\">";
}
}
else if (m.Groups["tag"].Value.ToLower() == "p")
{
pNum++;
if(m.Groups["cl"].Value != "")
{
temp += " style=\"cursor:pointer\"";
}
temp += " id=\"desc" + pNum + "\" ctype=\"desc\">";
}
return temp + m.Groups["en"].Value;
});
richTextBox2.Text = result;
/*------------输出-------------
<li>
<a href="#" id="href1" ctype="image"><img sc=""/></a>
<a href="#" id="href2" ctype="href">十一运会门票低价销售</a>
<p class="desc" style="cursor:pointer" id="desc1" ctype="desc">青岛赛区票价均不高于上全运会</p>
</li>
<li>
<a href="#" id="href3" ctype="image"><img sc=""/></a>
<a href="#" id="href4" ctype="href">宝姿大型特卖会3到6折</a>
<p class="desc" style="cursor:pointer" id="desc2" ctype="desc">您想品尝香浓幼滑的特色</p>
</li>
*/ string test = @"<li>
<a href=""#"" ><img sc=""""/></a>
<a href=""#"" >十一运会门票低价销售</a>
<p class=""desc"">青岛赛区票价均不高于上全运会</p>
</li>
<li>
<a href=""#""><img sc=""""/></a>
<a href=""#"">宝姿大型特卖会3到6折</a>
<p class=""desc"">您想品尝香浓幼滑的特色</p>
</li>";
int hNum, pNum;
hNum = pNum = 0;
string temp = string.Empty;
Regex reg = new Regex(@"(?is)(?<he><(?<tag>[ap])\b\s*(?<cl>class=""desc"")?[^>]*)>(?<en>\s*(?<img><img[^>]*>)?(?:(?!</?[ap]\b).)*</[ap]>)");
string result = reg.Replace(test, delegate(Match m)
{
temp = m.Groups["he"].Value;
if (m.Groups["tag"].Value.ToLower() == "a")
{
hNum++;
temp += " id=\"href" + hNum + "\"";
if (m.Groups["img"].Value != "")
{
temp += " ctype=\"image\">";
}
else
{
temp += " ctype=\"href\">";
}
}
else if (m.Groups["tag"].Value.ToLower() == "p")
{
pNum++;
if(m.Groups["cl"].Value != "")
{
temp += " style=\"cursor:pointer\"";
}
temp += " id=\"desc" + pNum + "\" ctype=\"desc\">";
}
return temp + m.Groups["en"].Value;
});
richTextBox2.Text = result;
/*------------输出-------------
<li>
<a href="#" id="href1" ctype="image"><img sc=""/></a>
<a href="#" id="href2" ctype="href">十一运会门票低价销售</a>
<p class="desc" style="cursor:pointer" id="desc1" ctype="desc">青岛赛区票价均不高于上全运会</p>
</li>
<li>
<a href="#" id="href3" ctype="image"><img sc=""/></a>
<a href="#" id="href4" ctype="href">宝姿大型特卖会3到6折</a>
<p class="desc" style="cursor:pointer" id="desc2" ctype="desc">您想品尝香浓幼滑的特色</p>
</li>
*/