为什么从数据库里读出HTML文本,过滤掉HTML代码,写入纯文本文件中,再用记事本查看时,段前段尾都会出现三个黑方块?

yirengirl 2005-04-22 12:22:57
这三个黑方块好像不是具体的字符,复制到浏览器的文本框里就看不见了,复制到WORD里变成三个换行符,怎样才能将这三个黑方块去掉??

我使用的过滤HTML代码的函数为:
function GetInnerText(strHtml)
dim regex
Set regex = New RegExp
regex.Pattern = "<\/?[^>]*>"
regex.Global = True
regex.IgnoreCase = True
GetInnerText = regex.Replace(strHtml,"")
Set regex = Nothing
end function

...全文
290 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yirengirl 2005-04-22
  • 打赏
  • 举报
回复
晕,四个黑方格了,没有分段。
hbhbhbhbhb1021 2005-04-22
  • 打赏
  • 举报
回复
function GetInnerText(strHtml)
dim regex
Set regex = New RegExp
regex.Pattern = "<\/?[^>]*>"
regex.Global = True
regex.IgnoreCase = True
GetInnerText = regex.Replace(strHtml,"")
regex.Pattern = "\r"
regex.Global = True
regex.IgnoreCase = True
GetInnerText = regex.Replace(GetInnerText ,"")
Set regex = Nothing
end function
这样呢,试试
yirengirl 2005-04-22
  • 打赏
  • 举报
回复
改成你给我的这个函数后,三个黑方块变成两个,文本不分段了。
hbhbhbhbhb1021 2005-04-22
  • 打赏
  • 举报
回复
function GetInnerText(strHtml)
dim regex
Set regex = New RegExp
regex.Pattern = "<\/?[^>]*>"
regex.Global = True
regex.IgnoreCase = True
GetInnerText = regex.Replace(strHtml,"")
regex.Pattern = "\n"
regex.Global = True
regex.IgnoreCase = True
GetInnerText = regex.Replace(GetInnerText ,"")
Set regex = Nothing
end function
fantiny 2005-04-22
  • 打赏
  • 举报
回复
function unHtml(content)
unHtml=content
if content <> "" then
unHtml=replace(unHtml,"&","&")
unHtml=replace(unHtml,"<","<")
unHtml=replace(unHtml,">",">")
unHtml=replace(unHtml,chr(34),""")
unHtml=replace(unHtml,chr(13),"<br>")
unHtml=replace(unHtml,chr(32)," ")
end if
end function

这个试试。

你可以自己再多添加几个,

比如
unHtml=replace(unHtml,chr(0),"ASCII码 -编号 0")

你把那几个制表和格式相关的ASCII码都替换出来看看。到底黑格是什么就应该可以了。
yirengirl 2005-04-22
  • 打赏
  • 举报
回复
在SQL数据库里存储的字段不是二进制,字段为NTEXT,通过一个类似动易HTML编辑器输入的,现在是读取这个不同记录的这个字段,批量存成纯文本文件,有的文件尾部就出现这种黑方格,有的文件没有。
fantiny 2005-04-22
  • 打赏
  • 举报
回复
你是用读取的二进制文件?最有可能的是你获取的长度计算出错了。你长度减1试试。
yirengirl 2005-04-22
  • 打赏
  • 举报
回复
我用ULTRAEDIT打开,看不见。转换为十六进制,全篇文章都是乱码了。
能教我怎么看吗?
mikespook 2005-04-22
  • 打赏
  • 举报
回复
找个16进制编辑器,看看那些方块是什么值~~~
再打开一个正常的文件,看看回车符的值是多少~~

反正应该是\r\n和\n\r的区别~~~
yirengirl 2005-04-22
  • 打赏
  • 举报
回复
各位高手再努力帮我想想
  • 打赏
  • 举报
回复
那个是文本的结尾符,如果你用C的编辑器的话,第一个黑方块后面的都看不到的,不过很不意思的是

黑方块,怎么换算成标记已经忘了:(
feifeizaizhe 2005-04-22
  • 打赏
  • 举报
回复
这是编码的问题。好像不好实现。
yirengirl 2005-04-22
  • 打赏
  • 举报
回复
在浏览器里打开,那几个黑方格与在WORD里打开一样,是换行符,但下载下来用记事本打开,就是黑方格了。
yirengirl 2005-04-22
  • 打赏
  • 举报
回复
http://www.deareve.net/a.txt
就是生成的文本文件:(

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧