考虑各种各样的情况,比如:
(1)本身没有空格,内容为:
<P>这是第一段的内容这是第一段的内容这是第一段的内容这是第一段的内容<p>这是第二段的内容这是第二段的内容这是第二段的内容这是第二段的内容这是第二段的内容这是第二段的内容
(2)本身已有空格:内容为:
<P>    这是第一段的内容这是第一段的内容这是第一段的内容这是第一段的内容<BR>
&nbsp;&nbsp;&nbsp;&nbsp;这是第二段的内容这是第二段的内容这是第二段的内容这是第二段的内容这是第二段的内容这是第二段的内容
<p>  这是第三段的内容这是第三段的内容这是第三段的内容这是第三段的内容这是第三段的内容这是第三段的内容
注:第一段中前面为四个普通半角空格,第二段为&nbsp;空格,第三段为全角空格。
(3)有的有空格,有的没有空格的情况,现需要将所有<P><BR>开头的Html标签及其变形标签(如<p align="left">,<br />等)全部在其后加上两个汉字的空格。如何做?现在遇到的问题是:
在asp.net中,使用如下语句时(其中sbContent为StringBuilder化的新闻内容对象),出现无法将<p><br>替换为加上全角空格的问题,好象asp.net中将全角空格自动去掉了一样(是不是asp.net的Bug呢?不得而知)。
sbContent=sbContent.Replace(@"<P>  ","<P>");  //这里是两个全角空格
sbContent=sbContent.Replace(@"<P>    ","<P>");   //四个半角空格
sbContent=sbContent.Replace(@"<BR>  ","<BR>");  //两个全角空格
sbContent=sbContent.Replace(@"<BR>    ","<BR>");  //四个半角空格
sbContent=sbContent.Replace("<P><BR>","<PBR>");
sbContent=sbContent.Replace("<BR>",@"<BR>  ");  //两个全角空格sbContent=sbContent.Replace("<P>","<P>  ");  //两个全角空格,这里空格竟被asp.net忽略!下面两行同理
sbContent=sbContent.Replace("<p>","<P>  ");  //两个全角空格
sbContent=sbContent.Replace("<PBR>","<P><BR>  ");  //两个全角空格
//上面三句改为下面语句时,有的可以,有的又不行!
//sbContent=sbContent.Replace("<P>","<P>&#8195;&#8195; ");
//sbContent=sbContent.Replace("<p>","<P>&#8195;&#8195; ");
//sbContent=sbContent.Replace("<PBR>","<P><BR>&#8195;&#8195; ");极度郁闷!或者换个思路,可以解决这个段首空格的问题也行。