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. Android学习 之 ColorStateList按钮文字变色

    首先添加一个ColorStateList资源XML文件,XML文件保存在res/color/button_text.xml: <?xml version="1.0" enco ...

  2. 【转】gtk+多线程的程序实例

    #include <gtk/gtk.h> gint test() { while(1) { gdk_threads_enter(); g_printf("hello\n" ...

  3. SAX解析xml文件

    需要做一个银行名字的列表. 因为有很多,所以想到了用xml来保存,然后uongDAX解析. public class BankSelectActivity extends BaseActivity{ ...

  4. 关于mock server

    这篇技术博客是在知乎上看到的 知乎js大神张云龙写的 这里贴过来记录下,如果侵权 请告知将及时删除. --------------------------- 为了更好的分工合作,让前端能在不依赖后端环 ...

  5. React Native填坑之旅--Flow篇(番外)

    flow不是React Native必会的技能,但是作为正式的产品开发优势很有必要掌握的技能之一.所以,算是RN填坑之旅系列的番外篇. Flow是一个静态的检查类型检查工具,设计之初的目的就是为了可以 ...

  6. [转]oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。

    oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 select * from dba_jobs; selec ...

  7. js实现单文件以及多文件下载

    <script type="text/javascript"> /** * Javascript 多文件下载 * @author Barret Lee * @email ...

  8. xcode6如何支持空模板

    Single View Application 改成空模板的歩揍(xcode6.0.1): 1.删除info.plist 中的Main Storyboard file base name 选项 2.将 ...

  9. 用户图形界面(GUI)学习笔记(一)——Swing与AWT

    一.Swing与AWT 对象窗口工具箱(Abstact Window Toolkit,AWT),是JAVA1.0刚出现的时候,包含的一个GUI设计类库.它将处理用户界面元素的任务委派给每个目标平台(W ...

  10. MSSQL数据库中Text类型字段在PHP中被截断之解 (转)

    在PHP中使用了MSSQL数据库,恰巧数据库中又使用了Text类型字段,于是问题产生了.每次从数据库中查询得到的数据总是被莫名的截断,一开始是以为我使用的PHP框架中对字符串的长度有所限制,后来发现这 ...