[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

我手上有一个纯文本的数据库,大概几十万条,里面有大量HTML转义符,比如Ι BAT能否将这些转义符替换成正常的文本呢?

TOP

CrLf 发表于 2015-3-25 15:36


非常感谢此工具,我试了下,这个貌似只能decode纯的NCR,如果是正常文本夹杂着NCR就没有办法了吧。

TOP

我试着可以哟
  1. htmldecode "test婓bathome"
复制代码
输出 test婓bathome

TOP

我试着可以哟输出 test婓bathome
CrLf 发表于 2015-3-25 20:38

我发现是我的文件编码有问题,只有编码形式是ANSI的才能正常输出,但这种编码形式下很多其他字符就没办法正常显示了,比如®
htmldecode "testλ® "
输出 "testλ;?"

TOP

是什么编码
可以用 utf-8试试

TOP

是什么编码
可以用 utf-8试试
CrLf 发表于 2015-3-26 14:10

原来是UCS-2 LE, 因为我最终要导入数据库,我试了换UTF-8,也一样,有些特殊字符已ANSI字符集生成新文件再转回原来的就回不去了。

TOP

全都是 &#nnnn; 的形式还是也有   的呢?
如果只有前者就很容易了,要是还有后者就需要查表。
不过表可以动态生成 html 再获取 innerText,那晚上用 hta 给你写个

TOP

全都是 &#nnnn; 的形式还是也有   的呢?
如果只有前者就很容易了,要是还有后者就需要查表。
不过表 ...
CrLf 发表于 2015-3-26 15:31


都是&#nnnn;的形式,不过我的数据源很大,我都是截取一部分测试的,否则会出现memory limit reached的错误。

TOP

不知道你实际的文件有多大...保险一点用 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()
复制代码

TOP

不知道你实际的文件有多大...保险一点用 fso 吧,慢一点,不过一行一行读不会超内存
把你要处理的文件 tes ...
CrLf 发表于 2015-3-27 04:10

it works, thanks!

TOP

返回列表