字符串转换的多种方法(第二部分)

ZDNet软件频道 时间:2003-01-02 作者:BUILDER.COM |  我要评论()
本文关键词:cpptips
在字符串转换多种方法介绍的第一部分,我们已经看到字符串转换类的源代码。在这一章节里,你将会学到如何使用字符串转换类把一个字符串转换为HTML类型。
在字符串转换多种方法介绍的第一部分,我们已经看到字符串转换类的源代码。在这一章节里,你将会学到如何使用字符串转换类把一个字符串转换为HTML类型。

首先,让我们看看需要哪些转换。(注意:以下转换的顺序是很重要的)

  • escape '&' ('&' -> '&')
  • escape quote ('"' -> '"')
  • escape apostrophe (''' -> ''')
  • escape '<' ('<' -> '&lt;')
  • escape '>' ('>' -> '&gt;')

除了以上显示的直接转换方法,我们还必须考虑以下几点:

  • 将字符串行中的关键部分转换为"&nbsp"方式,否则,HTML浏览器会忽略这一过程。
  • 将字符串行中的空格部分转换为"&nbsp"方式,否则,HTML浏览器也会忽略这一过程。
  • 在每一行的末尾添加分界符"<br>",否则,整个字符串都会被显示。

除此之外,字符器转换类中还添加了以下额外的特性。

  • 当连贯的字符串行以1,2,3…..开头时,把它们转换为数字类型,这样在HTML浏览器中看起来比较合适。
  • 当连贯的字符串行以*开头时,把它们转换为粗体圆点。

每一次转换都在基于HtmlStringInfo的基础上操作。这非常有用,因为每一行结束时都必须有一个粗体圆点,而我们不再需要操作这一过程。

对于第一次转换,我们使用StringReplacer类;对于第二次转换,我们使用LeadingSpaceToNbsp, EmptyLineToNbsp, and AppendBrIfNecessary函数;对于第三次转换,我们采用NumberToBullet和StarToBullet类。

在程序中你也会看到一些是算符而另外一些是函数,这取决于转换的需要。如果转换必须带有自动功能,这将会是一个算符,否则,即是一个函数。

下面是一个范例的代码,运行这一源代码,然后查看out_html.html文件,你会得到意想不到的惊奇。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134