Atitit 发帖机实现(2)---usrQBN2243 文本解析到对象协议规范
Atitit 发帖机实现(2)---usrQBN2243 文本解析到对象协议规范
文本内容
###注释
标题:标题标题标题标题标题1
人数:5
月薪:2000-3000
内容:
内容内容内
容内容内容内容1
var cmd=' ';
cmd+=' $("input[name=\'title\']").val("@title@"); $("input[name=\'need_num\']").val("@need_num@"); ';
cmd+=' $("input[name=\'category_url\']").val("@category_url@"); $("input[name=\'price\']").val("1"); ';
cmd+=' $("#id_description").val("@id_description@"); $("input[name=\'need_num\']").val("@need_num@"); ';
var mapper="标题:title,人数:need_num,月薪:2000-3000,内容:id_description";
var s="###注释\r\n标题:tti标题标题标题标题标题\r\n人数:5\r\n月薪:2000-3000\r\n内容:\r\n内容内容内111\r\n容内容内容内容222\r\n";
function artTxt2obj(s)
{
var a=s.split("\r\n");
var o={};
var cache="";
var k="";
for(var i=0;i<a.length;i++)
{
var line=a[i];
if(line.indexOf("#")==0)
continue;
//var a1=line.split(":");
var idx=line.indexOf(":");
if(i==0)
{
k=line.substr(0,idx);
cache=line.substr(idx+1);
continue;
}
if( line.indexOf(":")>0) //caontains
{
if(k.length>0)
o[k]=cache;//finish last pre yg ..
k=line.substr(0,idx);
cache=line.substr(idx+1);
continue;
// k=line.substr(0,idx);
//var v=line.substr(idx+1);
//o[k]=v;
//cache=line.substr(idx+1);
}else
{
cache=cache+line+"\r\n";
}
}
if(k.length>0)
o[k]=cache; //last item.
//alert(JSON.stringify(o));
return o;
}
function SmpTxt2json(s)
{
var o={};
var a=s.split(",");
for(var i=0;i<a.length;i++)
{
var a2=a[i].split(":");
o[a2[0]]=a2[1];
}
return o;
}
function fmtObj(cmd,mapper,o){
var maper_obj=SmpTxt2json( mapper );
for(var itemx in o)
{
var key_in_str=maper_obj[itemx];
cmd=cmd.replace("@"+key_in_str+"@",o[itemx]);
}
return cmd;
}
var o=artTxt2obj(s);
alert(fmtObj(cmd,mapper,o));
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
--Atiend
Atitit 发帖机实现(2)---usrQBN2243 文本解析到对象协议规范的更多相关文章
- Atitit 发帖机系列(8) 词法分析器v5 版本新特性说明)
Atitit 发帖机系列(8) 词法分析器v5 版本新特性说明) v5 增加对sql单引号的内部支持.可以作为string 结构调整,使用递归法重构循环发..放弃循环发. V4 java dsl词 ...
- Atitit 发帖机系列(6) USRQBN2201 setup spec安装程序的实现规范与标准化解决方案
Atitit 发帖机系列(6) USRQBN2201 setup spec安装程序的实现规范与标准化解决方案 安装主要解决一个问题,就是resin的内容启动路径以及端口..这里是使用的端口8077 主 ...
- Atitit 发帖机系列(7) 词法分析的方法attilax大总结)
Atitit 发帖机系列(7) 词法分析的方法attilax大总结) 1.1. 词法分析貌似俩大方法,一个直接根据状态图转换,一个根据dfa1 1.2. switchcase或者ifelse 最原始方 ...
- Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结
Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结 1.1. 根据gui的类型使用不同的gui调用api1 1.2. Script化1 1.3. ...
- Atitit 发帖机实现(3 )---usrQBN023 js提交ajax内容到后端规范与标准化
Atitit 发帖机实现(3 )---usrQBN023 js提交ajax内容到后端规范与标准化 大段内容务必要替换转义换行符号1 提交务必使用utf编码,否则解码后的可能缺失,是web serv ...
- Atitit 发帖机实现(1)-----UsrQBm2008 页面上下文规范
Atitit 发帖机实现(1)-----UsrQBm2008 页面上下文规范 1.1. 网站绝对路径,页面绝对路径1 1.2. Java的javax.servlet.ServletContext1 ...
- Atitit 自动化gui 与 发帖机 技术
Atitit 自动化gui 与 发帖机 技术 1.1. Gui tech1 1.2. 自动化软件测试1 1.3. selenium attilax1 1.4. 图形脚本语言Sikuli1 1.5. ...
- Atitit. Atiposter 发帖机 新特性 poster new feature v7 q39
Atitit. Atiposter 发帖机 新特性 poster new feature v7 q39 V8 重构iocutilV4,use def iocFact...jettyUtil V ...
- Atitit. Atiposter 发帖机 新特性 poster new feature v11 .docx
Atitit. Atiposter 发帖机 新特性 poster new feature v11 .docx 1.1. 版本历史1 2. 1. 未来版本规划2 2.1. V12版本规划2 2.2. ...
随机推荐
- Robot Framework安装教程
第一步:安装Python,安装的版本是python-2.7.9.amd64.msi 安装教程详见地址:http://jingyan.baidu.com/article/c910274be14d64cd ...
- Struts2之文件上传下载
本篇文章主要介绍如何利用struts2进行文件的上传及下载,同时给出我在编写同时所遇到的一些问题的解决方案. 文件上传 前端页面 <!-- 引入struts标签 --> <%@tag ...
- 启动tomcat时遇到的问题
1.当启动Tomcat时,出现了如下信息: The APR based Apache Tomcat Native library which allows optimal performance in ...
- Python垃圾回收机制
引用计数Python默认的垃圾收集机制是“引用计数”,每个对象维护了一个ob_ref字段.它的优点是机制简单,当新的引用指向该对象时,引用计数 引用计数 Python默认的垃圾收集机制是“引用计数”, ...
- java基础1_Java数据类型
一 . Java的数据类型分为 1.原生数据类型 也叫基本数据类型,分为整形,浮点型,字符型,布尔型.整形有 byte,short,int,long:浮点型有float,double;字符型有 cha ...
- c++ 时间类型详解 time_t
Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00 ...
- Async/Await FAQ
From time to time, I receive questions from developers which highlight either a need for more inform ...
- centos 安装和配置 rabbitmq
centos 安装 rabbitmq 1.rabbitmq是erlang语言开发的,安装前首先需要安装erlang# yum install erlang -y // 直接安装可能报错,# yum i ...
- Unity3d中Update()方法的替身
在网上看到一些资料说Unity3d的Update方法是如何如何不好,影响性能.作为一个菜鸟,之前我还觉得挺好用的,完全没用什么影响性能的问题存在.现在发现确实有很大的问题,我习惯把一大堆检测判断放在U ...
- 转:给 C# 开发者的代码审查清单
给 C# 开发者的代码审查清单 [感谢@L就是L 的热心翻译.如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线.] 这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考. ...