Shell脚本净化从word粘贴到blog的HTML Source -- Snippets

有时在Word上编辑好的文档, 粘贴到blog时, 看上去挺好的, 但一点HTML Source, 就会发现各种乱七八糟的标签, 像span, font, div等等, 而且每个标签带一坨属性, 总之标签字符常比有效正文字符还多, 这样加大文档大小不说, 光看着就不爽.

本人花了点时间写了个shell脚本, 主要用了sed进行处理. 实现了对HTML标签的删除/净化(去除属性)/替换, 支持一个标签分多行书写. 该脚本只对标签处理, 对内容无甚影响. 本人用了一段时间基本上没什么问题, 当然若有Bug, 一定及时修改.

举个例子, 从word粘贴到blog的HTML Source常会像input.txt中这样, 运行如下命令:
$./chtag.sh input.txt -o output.txt -d span font a -r p -R div p

该命令指从input.txt读入, 结果输出到output.txt, 并显示在屏幕上, 去掉span, font, a标签, 净化p标签, 把div标签替换成p标签. 另外, -d, -r, -R后都可以带任意多个参数, 顺序随意, 并且每个都可以出现多次.
具体用法和选项含意可不带参数运行chtag.sh显示简单帮助:
$./chtag.sh

用法说明如下:
usage: chtag.sh input_file_name [-o ouput_file_name] [-n] [[option] tag]...
Delete/modify Html/Xml tags.

Options:
-o out_file_name, also output results to the file named output_file_name, only the first "-o" won't be ignored
-n no screen output
-d delete tag, default, affect all arguments after it
-r delete tag attributes but not tag itself, affect all arguments after it
-R replace current tag with the next tag, affect all arguments after it

chtag源代码及测试文件

你可能感兴趣的:(Linux)