用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
tonywjd的公告
<br /> 该博客不再更新, 欢迎前往<a href="http://ricoss.com" title="http://ricoss.com" target="_blank">我的技术博客--与世无争(http://ricoss.com)</a>. <br /> <br /> 可是人的心啊, 你怎么可能满足? <br /> <br /> 冷暖自知, 怎堪有梦? <br /> <br /> 心冷心热心先知, 无情却做多情梦. <br /> <br /> 自衿意气豪, 敢骑雪中马. <br /> <br /> <img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/272385/o_tonywjd_gmail.png"> <br /> <br /> <img src="http://p.blog.csdn.net/images/p_blog_csdn_net/tonywjd/272385/o_tonywjd_hotmail.png"> <br /> <!--<br /> <a href="http://signup.alerts.live.com/alerts/login.do?PINID=36301323&returnURL=http://blog.csdn.net/tonywjd/"><img src="http://images.alerts.live.com/mcwebsite/graphics/blog/alert_signup_eng.gif" alt="Windows Live Alerts" border="0"></a> <br/>--> <div style="text-align: left;"> <script type="text/javascript"> function searchGoogle(key,evt,site) { if(evt.keyCode==13 || evt.keyCode==0 || evt.type =='click') { key.focus(); var keystr = key.value; url = "http://www.google.com/search?q="; url = url + keystr; url += "&ie=UTF-8&oe=GB2312&hl=zh-CN&domains="+site+"&sitesearch="+site; window.location=url; return false; } } </script> <input style="width: 130px" type="text" name="q" id="q" onkeydown="return SearchGoogle(document.getElementById('q'),event,'blog.csdn.net')" />&nbsp; <input onclick="searchGoogle(document.getElementById('q'),event,'blog.csdn.net/tonywjd')" type="button" value="搜" name="sa" /> </div> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-8125047-1"); pageTracker._trackPageview(); } catch(err) {}</script>
文章分类
小憩
与世无争--我的新技术博客(RSS)
饭否
高三(9)班
有点意思
clustrmaps
E-Mail Icon Generator
存档

原创  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源代码及测试文件

发表于 @ 2007年07月14日 00:56:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:Shell脚本生成目录树结构文本文件 -- Snippets | 新一篇:Jess - Notes

  • 发表评论
  • 评论内容:
  •  
Copyright © tonywjd
Powered by CSDN Blog