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 文本解析到对象协议规范的更多相关文章

  1. Atitit 发帖机系列(8)  词法分析器v5 版本新特性说明)

    Atitit 发帖机系列(8)  词法分析器v5 版本新特性说明) v5  增加对sql单引号的内部支持.可以作为string 结构调整,使用递归法重构循环发..放弃循环发. V4 java dsl词 ...

  2. Atitit 发帖机系列(6) USRQBN2201 setup spec安装程序的实现规范与标准化解决方案

    Atitit 发帖机系列(6) USRQBN2201 setup spec安装程序的实现规范与标准化解决方案 安装主要解决一个问题,就是resin的内容启动路径以及端口..这里是使用的端口8077 主 ...

  3. Atitit 发帖机系列(7) 词法分析的方法attilax大总结)

    Atitit 发帖机系列(7) 词法分析的方法attilax大总结) 1.1. 词法分析貌似俩大方法,一个直接根据状态图转换,一个根据dfa1 1.2. switchcase或者ifelse 最原始方 ...

  4. Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结

    Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结 1.1. 根据gui的类型使用不同的gui调用api1 1.2. Script化1 1.3. ...

  5. Atitit   发帖机实现(3 )---usrQBN023 js提交ajax内容到后端规范与标准化

    Atitit   发帖机实现(3 )---usrQBN023 js提交ajax内容到后端规范与标准化 大段内容务必要替换转义换行符号1 提交务必使用utf编码,否则解码后的可能缺失,是web serv ...

  6. Atitit  发帖机实现(1)-----UsrQBm2008 页面上下文规范

    Atitit  发帖机实现(1)-----UsrQBm2008 页面上下文规范 1.1. 网站绝对路径,页面绝对路径1 1.2. Java的javax.servlet.ServletContext1 ...

  7. Atitit  自动化gui 与 发帖机 技术

    Atitit  自动化gui 与 发帖机 技术 1.1. Gui tech1 1.2. 自动化软件测试1 1.3. selenium attilax1 1.4. 图形脚本语言Sikuli1 1.5. ...

  8. Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39

    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39 V8   重构iocutilV4,use def iocFact...jettyUtil V ...

  9. 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. ...

随机推荐

  1. 51nod 1428 活动安排问题(优先队列)

    1428 活动安排问题 首先按照开始时间从小到大排序. 其实只要维护一个结束时间的最小堆,每次比较开始时间和堆中最小时间的大小,如果比它大就放入堆中并且时间就要变成当前任务的结束时间, 否则就要新开一 ...

  2. hdu 5795

    A Simple Nim Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  3. redis hash数据类型

    我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Age等.如果H ...

  4. 模板短信接口调用java,pythoy版(二) 阿里大于

    说明 功能:短信通知发送 + 短信发送记录查询,所有参数我没有改动,实测有效! 请自行参考 + 官方API! 短信模板示例:尊敬的${name},您的快递已在飞奔的路上,将在今天${time}送达您的 ...

  5. Discuz!X2大附件上传插件-Xproer.HttpUploader6

    插件代码(github):https://github.com/1269085759/up6-discuz 插件代码(coding):https://coding.net/u/xproer/p/up6 ...

  6. python基础整理笔记(九)

    一. socket过程中注意的点 1. 黏包问题 所谓的黏包就是指,在TCP传输中,因为发送出来的信息,在接受者都是从系统的缓冲区里拿到的,如果多条消息积压在一起没有被读取,则后面读取时可能无法分辨消 ...

  7. Object-C中代码如何分离接口和实现

    使用C#习惯了代码的布局为:public (interface,class with static memebers),internal (class with implementation). 比如 ...

  8. 在ubuntu上配置nginx+php+mysql+phpmyadmin

    1.先更新ubuntu系统 更新命令 sudo apt-get update sudo apt-get upgrade 2 添加ubuntu nginx更新源镜像 cd /etc/apt/ sudo ...

  9. Maltab命令(随用随更新)

    1.eval() ------ 将括号内的字符串视为语句并运行 比如eval('y1=sin(2)')和语句y1=sin(2)等价 多在循环中使用,可以对多个名字有规则的变量或文件进行操作,比如 fo ...

  10. 针对Excel的vbs操作

    工程中具有导入Excel数据的功能,但是需要满足一定的格式.为了在导入之前,对Excel的格式进行规范,对vbs脚本语言进行了一定的了解,并实现了一个可以将Excel全部单元格设为文本格式的vbs脚本 ...