找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25691|回复: 10

[文本处理] 批处理如何处理HTML转义符?

[复制链接]
发表于 2015-3-25 15:24:52 | 显示全部楼层 |阅读模式
我手上有一个纯文本的数据库,大概几十万条,里面有大量HTML转义符,比如Ι BAT能否将这些转义符替换成正常的文本呢?
发表于 2015-3-25 15:36:53 | 显示全部楼层
 楼主| 发表于 2015-3-25 17:37:59 | 显示全部楼层
CrLf 发表于 2015-3-25 15:36


非常感谢此工具,我试了下,这个貌似只能decode纯的NCR,如果是正常文本夹杂着NCR就没有办法了吧。
发表于 2015-3-25 20:38:29 | 显示全部楼层
我试着可以哟
  1. htmldecode "test婓bathome"
复制代码
输出 test婓bathome
 楼主| 发表于 2015-3-26 11:33:52 | 显示全部楼层
我试着可以哟输出 test婓bathome
CrLf 发表于 2015-3-25 20:38

我发现是我的文件编码有问题,只有编码形式是ANSI的才能正常输出,但这种编码形式下很多其他字符就没办法正常显示了,比如®
htmldecode "testλ® "
输出 "testλ;?"
发表于 2015-3-26 14:10:34 | 显示全部楼层
是什么编码
可以用 utf-8试试
 楼主| 发表于 2015-3-26 14:56:01 | 显示全部楼层
是什么编码
可以用 utf-8试试
CrLf 发表于 2015-3-26 14:10

原来是UCS-2 LE, 因为我最终要导入数据库,我试了换UTF-8,也一样,有些特殊字符已ANSI字符集生成新文件再转回原来的就回不去了。
发表于 2015-3-26 15:31:15 | 显示全部楼层
全都是 &#nnnn; 的形式还是也有   的呢?
如果只有前者就很容易了,要是还有后者就需要查表。
不过表可以动态生成 html 再获取 innerText,那晚上用 hta 给你写个
 楼主| 发表于 2015-3-26 15:40:28 | 显示全部楼层
全都是 &#nnnn; 的形式还是也有   的呢?
如果只有前者就很容易了,要是还有后者就需要查表。
不过表 ...
CrLf 发表于 2015-3-26 15:31


都是&#nnnn;的形式,不过我的数据源很大,我都是截取一部分测试的,否则会出现memory limit reached的错误。
发表于 2015-3-27 04:10:03 | 显示全部楼层
不知道你实际的文件有多大...保险一点用 fso 吧,慢一点,不过一行一行读不会超内存
把你要处理的文件 test_in.txt 存为 Unicode 编码,再把以下脚本存为 js 运行即可
  1. var fso = new ActiveXObject('Scripting.FileSystemObject')

  2. var IN = fso.OpenTextFile('test_in.txt',1,true,true)
  3. var OUT = fso.OpenTextFile('test_out.txt',2,true,true)

  4. while(!IN.atEndOfStream){
  5.         var line = IN.ReadLine()

  6.         line = line.replace(/&#(\d{1,5});/g,function($0,$1){
  7.                 return String.fromCharCode($1)
  8.         })
  9.         OUT.WriteLine(line)
  10. }

  11. IN.Close()
  12. OUT.Close()
复制代码
 楼主| 发表于 2015-3-30 11:45:27 | 显示全部楼层
不知道你实际的文件有多大...保险一点用 fso 吧,慢一点,不过一行一行读不会超内存
把你要处理的文件 tes ...
CrLf 发表于 2015-3-27 04:10

it works, thanks!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 11:27 , Processed in 0.019392 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表