• 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://blog.csdn.net/attilax

    --Atiend

     

  • 相关阅读:
    集合类的相关之区别
    String,实例,变量
    Java集合类详解
    英语飙升的好方法[网上转来的]
    jstl标签常用标签(全)
    Android 菜单(OptionMenu)大全 建立你自己的菜单
    持久层封装 JDBC
    SQL Sever 常用语句总结
    异常:数据库没有有效所有者,因此无法安装数据库关系图支持对象
    Log4j配置详解
  • 原文地址:https://www.cnblogs.com/attilax/p/15198247.html
Copyright © 2020-2023  润新知