literal内容导出到word并去除html标记

今天做了个信息发布的网页,在显示信息的页面中加了个下载按钮,使其可以下载保存为word格式,但是下载回来后发现,里面还带着html标记,对普通用户而言处理这些可能有点困难,去掉标记最好,但是在网上找了半天,要不是用正则表达式,要不是用javascript,看着也晕,本着简单的原则,写了个小循环就搞定了,不知为什么,无法去掉<span>标记,不过也不要紧,反正一个文章里只有一个,下面是导出的具体代码,希望有高人指点一下:

 '导出内容为word
        Response.Clear()
        Response.Buffer = True
        Response.Charset = "GB2312"
        Response.AddHeader("content-disposition", "attachment;filename=mw.doc")
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")
        Response.ContentType = "application/vnd.doc"
        Me.EnableViewState = False
        Dim mycitrad As New System.Globalization.CultureInfo("zh-cn", True)
        Dim ostringwriter As New System.IO.StringWriter(mycitrad)
        Dim ohtmltextwriter As New System.Web.UI.HtmlTextWriter(ostringwriter)
        Dim lb As New Label
        lb.Text = Replace(L_xs.Text, "<BR>", vbCrLf) '<BR>换成回车
        lb.Text = Replace(lb.Text, "&#8220;", Chr(41392)) '转换成汉字中的“号
        lb.Text = Replace(lb.Text, "&#8221;", Chr(41393)) '转换为汉字中的”号
        lb.Text = Replace(lb.Text, "&#8230;", "…")
        lb.Text = Replace(lb.Text, "</P>", vbCrLf)
        lb.Text = Replace(lb.Text, "&#183;", "·")
        ''---------去掉<>间的内容
        Dim i As Integer = 1
        Dim str As String = lb.Text
        Dim str1 As String = ""
        Dim D As Boolean = True
        For i = 1 To lb.Text.Length
            Dim chr As String
            chr = Mid(str, i, 1)
            If chr = "<" Then
                D = False
            End If
            If chr = ">" Then
                D = True
            End If
            If D = True Then
                str1 = str1 + chr
            End If
        Next
        str1 = Replace(str1, ">", "")
        lb.Text = str1
        lb.RenderControl(ohtmltextwriter)
        Response.Write(ostringwriter.ToString())
        Response.End()

这个东西我也搞不清为什么汉字的引号就变成了"&#8220;",不清楚是什么编码,然后在网上就找到了用 Chr(41392)可以实现,呵呵,还是高人多,我查chr的用法时说取值范围在0-255之间,可是这个取了41392也好好的,不会报错,下面是没有处理前的文本:

<P align=center><FONT color=#ff0000>经验有时候也是一种负担</FONT></P>
<P>一个下雪的晚上,半夜里有人敲门。主人好奇,这么晚了,又是大雪夜,会是谁呢?开了门,是一个迷了路的游客。主人赶紧把他迎进屋内,惊叹地说:“哎呀!你真幸运,你刚刚走的路,其实是一片沼泽地,上面只有一层薄冰。这里的人,从来都不敢走的。”<BR>  旅客听后感觉到一片寒意:刚刚若是踏破薄冰,不是早就葬身沼泽之地了吗?<BR>  主人继续说道:“前几天,同样是下着雪,一位邻居被一群野狼追袭,同样的地方,邻居知道那是一片结着冰的沼泽地,所以不敢涉足过去。不幸地,他就死在了野狼的口里。<BR>  因为不知道,所以勇敢,万丈深的沼泽地也敢跨越;因为知道,一尺深的水池也寸步难移。这种“知道”,是不是一种负担?<BR>  经验有时就是负担,因为他教会我们“不敢”。</P>

这个是处理后下载到word中的文本:

<span>经验有时候也是一种负担

一个下雪的晚上,半夜里有人敲门。主人好奇,这么晚了,又是大雪夜,会是谁呢?开了门,是一个迷了路的游客。主人赶紧把他迎进屋内,惊叹地说:“哎呀!你真幸运,你刚刚走的路,其实是一片沼泽地,上面只有一层薄冰。这里的人,从来都不敢走的。”

  旅客听后感觉到一片寒意:刚刚若是踏破薄冰,不是早就葬身沼泽之地了吗?

  主人继续说道:“前几天,同样是下着雪,一位邻居被一群野狼追袭,同样的地方,邻居知道那是一片结着冰的沼泽地,所以不敢涉足过去。不幸地,他就死在了野狼的口里。

  因为不知道,所以勇敢,万丈深的沼泽地也敢跨越;因为知道,一尺深的水池也寸步难移。这种“知道”,是不是一种负担?

  经验有时就是负担,因为他教会我们“不敢”。

</span>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值