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. Robot Framework安装教程

    第一步:安装Python,安装的版本是python-2.7.9.amd64.msi 安装教程详见地址:http://jingyan.baidu.com/article/c910274be14d64cd ...

  2. Struts2之文件上传下载

    本篇文章主要介绍如何利用struts2进行文件的上传及下载,同时给出我在编写同时所遇到的一些问题的解决方案. 文件上传 前端页面 <!-- 引入struts标签 --> <%@tag ...

  3. 启动tomcat时遇到的问题

    1.当启动Tomcat时,出现了如下信息: The APR based Apache Tomcat Native library which allows optimal performance in ...

  4. Python垃圾回收机制

    引用计数Python默认的垃圾收集机制是“引用计数”,每个对象维护了一个ob_ref字段.它的优点是机制简单,当新的引用指向该对象时,引用计数 引用计数 Python默认的垃圾收集机制是“引用计数”, ...

  5. java基础1_Java数据类型

    一 . Java的数据类型分为 1.原生数据类型 也叫基本数据类型,分为整形,浮点型,字符型,布尔型.整形有 byte,short,int,long:浮点型有float,double;字符型有 cha ...

  6. c++ 时间类型详解 time_t

    Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00 ...

  7. Async/Await FAQ

    From time to time, I receive questions from developers which highlight either a need for more inform ...

  8. centos 安装和配置 rabbitmq

    centos 安装 rabbitmq 1.rabbitmq是erlang语言开发的,安装前首先需要安装erlang# yum install erlang -y // 直接安装可能报错,# yum i ...

  9. Unity3d中Update()方法的替身

    在网上看到一些资料说Unity3d的Update方法是如何如何不好,影响性能.作为一个菜鸟,之前我还觉得挺好用的,完全没用什么影响性能的问题存在.现在发现确实有很大的问题,我习惯把一大堆检测判断放在U ...

  10. 转:给 C# 开发者的代码审查清单

      给 C# 开发者的代码审查清单   [感谢@L就是L 的热心翻译.如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线.] 这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考. ...