| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871 |
- <?php if (!defined('THINK_PATH')) exit(); /*a:2:{s:86:"/home/www/wwwroot/cjq.wngluo.org.cn/vendor/skycaiji/app/admin/view/cpattern/field.html";i:1750210657;s:92:"/home/www/wwwroot/cjq.wngluo.org.cn/vendor/skycaiji/app/admin/view/cpattern/rule_module.html";i:1750210657;}*/ ?>
- <form id="form_field" method="post" action="<?php echo url('cpattern/field'); ?>">
- <?php echo html_usertoken(); ?>
- <input type="hidden" name="is_submit" value="1" />
- <input type="hidden" name="objid" value="<?php echo $objid; ?>" />
- <div class="form-group">
- <div class="input-group">
- <span class="input-group-addon" style="background:#f4f4f4;">字段名称</span>
- <input type="text" name="field[name]" class="form-control" autocomplete="off" />
- </div>
- </div>
- <div class="form-group">
- <div class="input-group">
- <span class="input-group-addon" style="background:#f4f4f4;">字段描述</span>
- <input type="text" name="field[desc]" class="form-control" autocomplete="off" placeholder="选填" />
- </div>
- </div>
- <div class="form-group c-p-field-source">
- <div class="input-group">
- <span class="input-group-addon" style="background:#f4f4f4;">数据来源</span>
- <select name="field[source]" class="form-control">
- <option value="source_url">起始页</option>
- <option value="" selected="selected">内容页</option>
- </select>
- </div>
- </div>
- <div class="form-group">
- <div class="input-group" style="margin-bottom:10px;">
- <span class="input-group-addon" style="background:#f4f4f4;">获取方式</span>
- <select name="field[module]" class="form-control">
- <option value="rule"><?php echo \think\Lang::get('field_module_rule'); ?></option>
- <option value="xpath"><?php echo \think\Lang::get('field_module_xpath'); ?></option>
- <option value="json"><?php echo \think\Lang::get('field_module_json'); ?></option>
- <option value="auto"><?php echo \think\Lang::get('field_module_auto'); ?></option>
- <option value="sign"><?php echo \think\Lang::get('field_module_sign'); ?></option>
- <optgroup label="数据生成">
- <option value="words"><?php echo \think\Lang::get('field_module_words'); ?></option>
- <option value="num"><?php echo \think\Lang::get('field_module_num'); ?></option>
- <option value="no"><?php echo \think\Lang::get('field_module_no'); ?></option>
- <option value="list"><?php echo \think\Lang::get('field_module_list'); ?></option>
- <option value="time"><?php echo \think\Lang::get('field_module_time'); ?></option>
- </optgroup>
- <optgroup label="字段">
- <option value="extract">字段提取内容</option>
- <option value="merge"><?php echo \think\Lang::get('field_module_merge'); ?></option>
- </optgroup>
- </select>
- </div>
- <div id="c_p_field_module">
- <div class="c-p-field-module" module="rule">
- <?php $_tpl_type = 'rule'; $_tpl_name = 'field'; $_tpl_name_pre = ''; $_tpl_allow_loop = '1';
- $_tpl_is_process=($_tpl_name=='data-process')?true:false;
- $_tpl_name_id='c_p_'.str_replace(array('[',']'),'_',$_tpl_name).'_'.str_replace(array('[',']'),'_',$_tpl_name_pre);
- if($_tpl_type=='rule'): ?>
- <div class="form-group">
- <label>规则</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule'); ?> class="form-control" rows="3" placeholder="<?php echo \think\Lang::get('tips_match'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_wildcard'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_wildcard"<?php else: ?>onclick="ruleInsertSign.wildcard('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo \think\Lang::get('sign_wildcard'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_match'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo cp_sign('match'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_group'); ?>" class="blk" <?php if($_tpl_is_process): ?>data-rule-sign="sign_group"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']',{group:1})"<?php endif; ?>>捕获组</a></div>
- <div>
- <span title="<?php echo \think\Lang::get('tips_regular'); ?>">正则</span>
- <a href="javascript:;" title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.tips()"></a>
- </div>
- </div>
- </div>
- <p class="help-block">规则中无<?php echo cp_sign('match'); ?>标签时,自动将完全匹配的值保存为<?php echo cp_sign('match'); ?>标签以供拼接调用</p>
- </div>
- <div class="form-group">
- <label>拼接成最终内容</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_merge'); ?> class="form-control" rows="2" placeholder="默认拼接规则中所有<?php echo cp_sign('match'); ?>标签,<?php echo \think\Lang::get('tips_matchn'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <a href="javascript:;" title="调用当前规则中的内容标签" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match_n"<?php else: ?>onclick="ruleInsertSign.matchN('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']','[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule_merge]\']',{def:1})"<?php endif; ?>><?php echo cp_sign('match','N'); ?></a>
- </div>
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-rule-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>rule_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-rule-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='xpath'): ?>
- <div class="form-group">
- <label>规则</label>
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath'); ?> class="form-control" rows="3" placeholder="xpath规则"></textarea>
- </div>
- <div class="form-group">
- <label>属性</label>
- <div class="input-group input-select-custom">
- <div class="input-group-btn">
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr'); ?> class="form-control">
- <option value="">无</option>
- <option value="innerHtml">innerHtml</option>
- <option value="outerHtml">outerHtml</option>
- <option value="text">text</option>
- <option value="value">value</option>
- <option value="id">id</option>
- <option value="class">class</option>
- <option value="name">name</option>
- <option value="href">href</option>
- <option value="src">src</option>
- <option value="style">style</option>
- <option value="width">width</option>
- <option value="height">height</option>
- <option value="alt">alt</option>
- <option value="custom">自定义</option>
- </select>
- </div>
- <input type="text" class="form-control" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr_custom'); ?> />
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-xpath-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>xpath_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-xpath-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='json'): ?>
- <div class="form-group">
- <label>提取规则</label>
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json'); ?> class="form-control" />
- <p class="help-block">直接输入键名,子节点用:a.b.c,通配符*</p>
- </div>
- <?php if($_tpl_allow_loop): ?>
- <div class="form-group">
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_loop'); ?> value="1"> 匹配到多个结果允许循环入库</label></div>
- </div>
- <?php endif; ?>
- <div class="form-group">
- <label>结果是数组则转换为</label>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr'); ?> class="form-control">
- <option value="implode">字符串</option>
- <option value="jsonencode">json编码</option>
- <option value="serialize">序列化</option>
- </select>
- <div class="input-group<?php if($_tpl_is_process): ?> process-extract-json-arr-implode<?php endif; ?>" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>json_arr_implode"<?php endif; ?> style="margin-top:5px;">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr_implode'); ?> class="form-control" rows="1" placeholder="输入分隔符"></textarea>
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php endif; ?>
- </div>
- <div class="c-p-field-module" module="auto" style="display:none;">
- <div class="form-group" style="text-align:center;">
- <p>自动提取页面中的内容:</p>
- <label class="radio-inline" style="margin-left:0px;">
- <input type="radio" name="field[auto]" value="title">标题
- </label>
- <label class="radio-inline" style="margin-left:5px;">
- <input type="radio" name="field[auto]" value="content">正文
- </label>
- <label class="radio-inline" style="margin-left:5px;">
- <input type="radio" name="field[auto]" value="keywords">keywords
- </label>
- <label class="radio-inline" style="margin-left:5px;">
- <input type="radio" name="field[auto]" value="description">description
- </label>
- <label class="radio-inline" style="margin-left:5px;">
- <input type="radio" name="field[auto]" value="url">网址
- </label>
- <label class="radio-inline" style="margin-left:5px;">
- <input type="radio" name="field[auto]" value="html">源码
- </label>
- <label class="radio-inline" style="margin-left:5px;">
- <input type="radio" name="field[auto]" value="header">头信息
- </label>
- <label class="radio-inline" style="margin-left:5px;">
- <input type="radio" name="field[auto]" value="cookie">cookie
- </label>
- </div>
- </div>
- <div class="c-p-field-module" module="xpath" style="display:none;">
- <?php $_tpl_type = 'xpath'; $_tpl_name = 'field'; $_tpl_name_pre = ''; $_tpl_allow_loop = '1';
- $_tpl_is_process=($_tpl_name=='data-process')?true:false;
- $_tpl_name_id='c_p_'.str_replace(array('[',']'),'_',$_tpl_name).'_'.str_replace(array('[',']'),'_',$_tpl_name_pre);
- if($_tpl_type=='rule'): ?>
- <div class="form-group">
- <label>规则</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule'); ?> class="form-control" rows="3" placeholder="<?php echo \think\Lang::get('tips_match'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_wildcard'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_wildcard"<?php else: ?>onclick="ruleInsertSign.wildcard('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo \think\Lang::get('sign_wildcard'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_match'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo cp_sign('match'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_group'); ?>" class="blk" <?php if($_tpl_is_process): ?>data-rule-sign="sign_group"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']',{group:1})"<?php endif; ?>>捕获组</a></div>
- <div>
- <span title="<?php echo \think\Lang::get('tips_regular'); ?>">正则</span>
- <a href="javascript:;" title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.tips()"></a>
- </div>
- </div>
- </div>
- <p class="help-block">规则中无<?php echo cp_sign('match'); ?>标签时,自动将完全匹配的值保存为<?php echo cp_sign('match'); ?>标签以供拼接调用</p>
- </div>
- <div class="form-group">
- <label>拼接成最终内容</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_merge'); ?> class="form-control" rows="2" placeholder="默认拼接规则中所有<?php echo cp_sign('match'); ?>标签,<?php echo \think\Lang::get('tips_matchn'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <a href="javascript:;" title="调用当前规则中的内容标签" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match_n"<?php else: ?>onclick="ruleInsertSign.matchN('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']','[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule_merge]\']',{def:1})"<?php endif; ?>><?php echo cp_sign('match','N'); ?></a>
- </div>
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-rule-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>rule_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-rule-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='xpath'): ?>
- <div class="form-group">
- <label>规则</label>
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath'); ?> class="form-control" rows="3" placeholder="xpath规则"></textarea>
- </div>
- <div class="form-group">
- <label>属性</label>
- <div class="input-group input-select-custom">
- <div class="input-group-btn">
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr'); ?> class="form-control">
- <option value="">无</option>
- <option value="innerHtml">innerHtml</option>
- <option value="outerHtml">outerHtml</option>
- <option value="text">text</option>
- <option value="value">value</option>
- <option value="id">id</option>
- <option value="class">class</option>
- <option value="name">name</option>
- <option value="href">href</option>
- <option value="src">src</option>
- <option value="style">style</option>
- <option value="width">width</option>
- <option value="height">height</option>
- <option value="alt">alt</option>
- <option value="custom">自定义</option>
- </select>
- </div>
- <input type="text" class="form-control" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr_custom'); ?> />
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-xpath-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>xpath_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-xpath-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='json'): ?>
- <div class="form-group">
- <label>提取规则</label>
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json'); ?> class="form-control" />
- <p class="help-block">直接输入键名,子节点用:a.b.c,通配符*</p>
- </div>
- <?php if($_tpl_allow_loop): ?>
- <div class="form-group">
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_loop'); ?> value="1"> 匹配到多个结果允许循环入库</label></div>
- </div>
- <?php endif; ?>
- <div class="form-group">
- <label>结果是数组则转换为</label>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr'); ?> class="form-control">
- <option value="implode">字符串</option>
- <option value="jsonencode">json编码</option>
- <option value="serialize">序列化</option>
- </select>
- <div class="input-group<?php if($_tpl_is_process): ?> process-extract-json-arr-implode<?php endif; ?>" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>json_arr_implode"<?php endif; ?> style="margin-top:5px;">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr_implode'); ?> class="form-control" rows="1" placeholder="输入分隔符"></textarea>
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php endif; ?>
- </div>
- <div class="c-p-field-module" module="words" style="display:none;">
- <textarea name="field[words]" class="form-control" rows="10"></textarea>
- </div>
- <div class="c-p-field-module" module="num" style="display:none;">
- <div class="input-group">
- <div class="input-group-addon">范围</div>
- <input type="number" name="field[num_start]" class="form-control" />
- <div class="input-group-addon brl_0 brr_0">到</div>
- <input type="number" name="field[num_end]" class="form-control" />
- </div>
- </div>
- <div class="c-p-field-module" module="no" style="display:none;">
- <div class="form-group">
- <div class="input-group">
- <div class="input-group-addon">起始数字</div>
- <input type="number" name="field[no_start]" class="form-control" placeholder="默认:1" />
- <div class="input-group-addon brl_0 brr_0">递增数</div>
- <input type="number" name="field[no_inc]" class="form-control" placeholder="默认:1" />
- </div>
- </div>
- <div class="form-group">
- <div class="input-group">
- <div class="input-group-addon">补零位数</div>
- <input type="number" name="field[no_len]" class="form-control" placeholder="默认不补零,小于位数的数字开头自动补零" />
- </div>
- </div>
- <p class="help-block">注意:自增数字不受采集退出影响会连续记录(测试除外)如需重新开始可以<a href="javascript:;" class="c-p-field-no-reset">点击重置</a></p>
- </div>
- <div class="c-p-field-module" module="time" style="display:none;">
- <div class="input-group" style="margin-bottom:7px;">
- <div class="input-group-addon">格式</div>
- <input type="text" name="field[time_format]" class="form-control" />
- </div>
- <div class="help-block" id="c_p_field_time_format_list">
- <span>标签:</span>
- <ul class="in-line-mg">
- <li><a href="javascript:;" data-val="[年]">[年]</a></li>
- <li><a href="javascript:;" data-val="[月]">[月]</a></li>
- <li><a href="javascript:;" data-val="[日]">[日]</a></li>
- <li><a href="javascript:;" data-val="[时]">[时]</a></li>
- <li><a href="javascript:;" data-val="[分]">[分]</a></li>
- <li><a href="javascript:;" data-val="[秒]">[秒]</a></li>
- </ul>
- </div>
- <div class="input-group">
- <div class="input-group-addon">范围随机</div>
- <input type="text" name="field[time_start]" class="form-control" placeholder="默认当前时间" autocomplete="off" />
- <div class="input-group-addon" style="border-left:0;border-right:0;">到</div>
- <input type="text" name="field[time_end]" class="form-control" placeholder="默认当前时间" autocomplete="off" />
- <div class="input-group-btn"><button type="button" class="btn btn-default" onclick="$(this).parent().siblings('input:text').val('');">清空</button></div>
- </div>
- <div class="checkbox"><label><input type="checkbox" name="field[time_stamp]" value="1" /> 转换成时间戳</label></div>
- </div>
- <div class="c-p-field-module" module="list" style="display:none;">
- <div class="form-group">
- <label>列表数据</label>
- <textarea name="field[list]" class="form-control" rows="3"></textarea>
- <p class="help-block">一行一条数据,从列表中抽取数据</p>
- </div>
- <div class="form-group">
- <label>抽取方式</label>
- <select name="field[list_type]" class="form-control">
- <option value="" selected="selected">随机抽取</option>
- <option value="asc">顺序抽取</option>
- <option value="desc">倒序抽取</option>
- </select>
- </div>
- </div>
- <div class="c-p-field-module" module="merge" style="display:none;">
- <textarea name="field[merge]" class="form-control" rows="3"></textarea>
- <div id="c_p_field_merge_list" style="margin-top:5px;"></div>
- </div>
- <div class="c-p-field-module" module="json" style="display:none;">
- <?php $_tpl_type = 'json'; $_tpl_name = 'field'; $_tpl_name_pre = ''; $_tpl_allow_loop = '1';
- $_tpl_is_process=($_tpl_name=='data-process')?true:false;
- $_tpl_name_id='c_p_'.str_replace(array('[',']'),'_',$_tpl_name).'_'.str_replace(array('[',']'),'_',$_tpl_name_pre);
- if($_tpl_type=='rule'): ?>
- <div class="form-group">
- <label>规则</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule'); ?> class="form-control" rows="3" placeholder="<?php echo \think\Lang::get('tips_match'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_wildcard'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_wildcard"<?php else: ?>onclick="ruleInsertSign.wildcard('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo \think\Lang::get('sign_wildcard'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_match'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo cp_sign('match'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_group'); ?>" class="blk" <?php if($_tpl_is_process): ?>data-rule-sign="sign_group"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']',{group:1})"<?php endif; ?>>捕获组</a></div>
- <div>
- <span title="<?php echo \think\Lang::get('tips_regular'); ?>">正则</span>
- <a href="javascript:;" title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.tips()"></a>
- </div>
- </div>
- </div>
- <p class="help-block">规则中无<?php echo cp_sign('match'); ?>标签时,自动将完全匹配的值保存为<?php echo cp_sign('match'); ?>标签以供拼接调用</p>
- </div>
- <div class="form-group">
- <label>拼接成最终内容</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_merge'); ?> class="form-control" rows="2" placeholder="默认拼接规则中所有<?php echo cp_sign('match'); ?>标签,<?php echo \think\Lang::get('tips_matchn'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <a href="javascript:;" title="调用当前规则中的内容标签" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match_n"<?php else: ?>onclick="ruleInsertSign.matchN('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']','[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule_merge]\']',{def:1})"<?php endif; ?>><?php echo cp_sign('match','N'); ?></a>
- </div>
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-rule-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>rule_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-rule-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='xpath'): ?>
- <div class="form-group">
- <label>规则</label>
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath'); ?> class="form-control" rows="3" placeholder="xpath规则"></textarea>
- </div>
- <div class="form-group">
- <label>属性</label>
- <div class="input-group input-select-custom">
- <div class="input-group-btn">
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr'); ?> class="form-control">
- <option value="">无</option>
- <option value="innerHtml">innerHtml</option>
- <option value="outerHtml">outerHtml</option>
- <option value="text">text</option>
- <option value="value">value</option>
- <option value="id">id</option>
- <option value="class">class</option>
- <option value="name">name</option>
- <option value="href">href</option>
- <option value="src">src</option>
- <option value="style">style</option>
- <option value="width">width</option>
- <option value="height">height</option>
- <option value="alt">alt</option>
- <option value="custom">自定义</option>
- </select>
- </div>
- <input type="text" class="form-control" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr_custom'); ?> />
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-xpath-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>xpath_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-xpath-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='json'): ?>
- <div class="form-group">
- <label>提取规则</label>
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json'); ?> class="form-control" />
- <p class="help-block">直接输入键名,子节点用:a.b.c,通配符*</p>
- </div>
- <?php if($_tpl_allow_loop): ?>
- <div class="form-group">
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_loop'); ?> value="1"> 匹配到多个结果允许循环入库</label></div>
- </div>
- <?php endif; ?>
- <div class="form-group">
- <label>结果是数组则转换为</label>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr'); ?> class="form-control">
- <option value="implode">字符串</option>
- <option value="jsonencode">json编码</option>
- <option value="serialize">序列化</option>
- </select>
- <div class="input-group<?php if($_tpl_is_process): ?> process-extract-json-arr-implode<?php endif; ?>" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>json_arr_implode"<?php endif; ?> style="margin-top:5px;">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr_implode'); ?> class="form-control" rows="1" placeholder="输入分隔符"></textarea>
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php endif; ?>
- </div>
- <div class="c-p-field-module" module="extract" style="display:none;">
- <div class="form-group">
- <div class="input-group">
- <div class="input-group-addon" style="background:#f4f4f4;">选择字段</div>
- <select name="field[extract]" class="form-control">
- <option value="">请选择</option>
- </select>
- </div>
- </div>
- <div class="form-group">
- <div class="input-group">
- <div class="input-group-addon" style="background:#f4f4f4;">提取内容</div>
- <select name="field[extract_module]" class="form-control">
- <option value="">请选择</option>
- <option value="cover">第一张图片</option>
- <option value="rule">规则匹配</option>
- <option value="xpath">xpath匹配</option>
- <option value="json">json提取</option>
- </select>
- </div>
- </div>
- <div class="c-p-field-extract-module" extract-module="rule" style="display:none;">
- <?php $_tpl_type = 'rule'; $_tpl_name = 'field'; $_tpl_name_pre = 'extract_'; $_tpl_allow_loop = '1';
- $_tpl_is_process=($_tpl_name=='data-process')?true:false;
- $_tpl_name_id='c_p_'.str_replace(array('[',']'),'_',$_tpl_name).'_'.str_replace(array('[',']'),'_',$_tpl_name_pre);
- if($_tpl_type=='rule'): ?>
- <div class="form-group">
- <label>规则</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule'); ?> class="form-control" rows="3" placeholder="<?php echo \think\Lang::get('tips_match'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_wildcard'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_wildcard"<?php else: ?>onclick="ruleInsertSign.wildcard('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo \think\Lang::get('sign_wildcard'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_match'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo cp_sign('match'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_group'); ?>" class="blk" <?php if($_tpl_is_process): ?>data-rule-sign="sign_group"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']',{group:1})"<?php endif; ?>>捕获组</a></div>
- <div>
- <span title="<?php echo \think\Lang::get('tips_regular'); ?>">正则</span>
- <a href="javascript:;" title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.tips()"></a>
- </div>
- </div>
- </div>
- <p class="help-block">规则中无<?php echo cp_sign('match'); ?>标签时,自动将完全匹配的值保存为<?php echo cp_sign('match'); ?>标签以供拼接调用</p>
- </div>
- <div class="form-group">
- <label>拼接成最终内容</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_merge'); ?> class="form-control" rows="2" placeholder="默认拼接规则中所有<?php echo cp_sign('match'); ?>标签,<?php echo \think\Lang::get('tips_matchn'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <a href="javascript:;" title="调用当前规则中的内容标签" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match_n"<?php else: ?>onclick="ruleInsertSign.matchN('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']','[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule_merge]\']',{def:1})"<?php endif; ?>><?php echo cp_sign('match','N'); ?></a>
- </div>
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-rule-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>rule_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-rule-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='xpath'): ?>
- <div class="form-group">
- <label>规则</label>
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath'); ?> class="form-control" rows="3" placeholder="xpath规则"></textarea>
- </div>
- <div class="form-group">
- <label>属性</label>
- <div class="input-group input-select-custom">
- <div class="input-group-btn">
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr'); ?> class="form-control">
- <option value="">无</option>
- <option value="innerHtml">innerHtml</option>
- <option value="outerHtml">outerHtml</option>
- <option value="text">text</option>
- <option value="value">value</option>
- <option value="id">id</option>
- <option value="class">class</option>
- <option value="name">name</option>
- <option value="href">href</option>
- <option value="src">src</option>
- <option value="style">style</option>
- <option value="width">width</option>
- <option value="height">height</option>
- <option value="alt">alt</option>
- <option value="custom">自定义</option>
- </select>
- </div>
- <input type="text" class="form-control" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr_custom'); ?> />
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-xpath-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>xpath_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-xpath-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='json'): ?>
- <div class="form-group">
- <label>提取规则</label>
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json'); ?> class="form-control" />
- <p class="help-block">直接输入键名,子节点用:a.b.c,通配符*</p>
- </div>
- <?php if($_tpl_allow_loop): ?>
- <div class="form-group">
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_loop'); ?> value="1"> 匹配到多个结果允许循环入库</label></div>
- </div>
- <?php endif; ?>
- <div class="form-group">
- <label>结果是数组则转换为</label>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr'); ?> class="form-control">
- <option value="implode">字符串</option>
- <option value="jsonencode">json编码</option>
- <option value="serialize">序列化</option>
- </select>
- <div class="input-group<?php if($_tpl_is_process): ?> process-extract-json-arr-implode<?php endif; ?>" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>json_arr_implode"<?php endif; ?> style="margin-top:5px;">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr_implode'); ?> class="form-control" rows="1" placeholder="输入分隔符"></textarea>
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php endif; ?>
- </div>
- <div class="c-p-field-extract-module" extract-module="xpath" style="display:none;">
- <?php $_tpl_type = 'xpath'; $_tpl_name = 'field'; $_tpl_name_pre = 'extract_'; $_tpl_allow_loop = '1';
- $_tpl_is_process=($_tpl_name=='data-process')?true:false;
- $_tpl_name_id='c_p_'.str_replace(array('[',']'),'_',$_tpl_name).'_'.str_replace(array('[',']'),'_',$_tpl_name_pre);
- if($_tpl_type=='rule'): ?>
- <div class="form-group">
- <label>规则</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule'); ?> class="form-control" rows="3" placeholder="<?php echo \think\Lang::get('tips_match'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_wildcard'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_wildcard"<?php else: ?>onclick="ruleInsertSign.wildcard('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo \think\Lang::get('sign_wildcard'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_match'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo cp_sign('match'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_group'); ?>" class="blk" <?php if($_tpl_is_process): ?>data-rule-sign="sign_group"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']',{group:1})"<?php endif; ?>>捕获组</a></div>
- <div>
- <span title="<?php echo \think\Lang::get('tips_regular'); ?>">正则</span>
- <a href="javascript:;" title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.tips()"></a>
- </div>
- </div>
- </div>
- <p class="help-block">规则中无<?php echo cp_sign('match'); ?>标签时,自动将完全匹配的值保存为<?php echo cp_sign('match'); ?>标签以供拼接调用</p>
- </div>
- <div class="form-group">
- <label>拼接成最终内容</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_merge'); ?> class="form-control" rows="2" placeholder="默认拼接规则中所有<?php echo cp_sign('match'); ?>标签,<?php echo \think\Lang::get('tips_matchn'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <a href="javascript:;" title="调用当前规则中的内容标签" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match_n"<?php else: ?>onclick="ruleInsertSign.matchN('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']','[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule_merge]\']',{def:1})"<?php endif; ?>><?php echo cp_sign('match','N'); ?></a>
- </div>
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-rule-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>rule_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-rule-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='xpath'): ?>
- <div class="form-group">
- <label>规则</label>
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath'); ?> class="form-control" rows="3" placeholder="xpath规则"></textarea>
- </div>
- <div class="form-group">
- <label>属性</label>
- <div class="input-group input-select-custom">
- <div class="input-group-btn">
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr'); ?> class="form-control">
- <option value="">无</option>
- <option value="innerHtml">innerHtml</option>
- <option value="outerHtml">outerHtml</option>
- <option value="text">text</option>
- <option value="value">value</option>
- <option value="id">id</option>
- <option value="class">class</option>
- <option value="name">name</option>
- <option value="href">href</option>
- <option value="src">src</option>
- <option value="style">style</option>
- <option value="width">width</option>
- <option value="height">height</option>
- <option value="alt">alt</option>
- <option value="custom">自定义</option>
- </select>
- </div>
- <input type="text" class="form-control" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr_custom'); ?> />
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-xpath-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>xpath_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-xpath-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='json'): ?>
- <div class="form-group">
- <label>提取规则</label>
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json'); ?> class="form-control" />
- <p class="help-block">直接输入键名,子节点用:a.b.c,通配符*</p>
- </div>
- <?php if($_tpl_allow_loop): ?>
- <div class="form-group">
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_loop'); ?> value="1"> 匹配到多个结果允许循环入库</label></div>
- </div>
- <?php endif; ?>
- <div class="form-group">
- <label>结果是数组则转换为</label>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr'); ?> class="form-control">
- <option value="implode">字符串</option>
- <option value="jsonencode">json编码</option>
- <option value="serialize">序列化</option>
- </select>
- <div class="input-group<?php if($_tpl_is_process): ?> process-extract-json-arr-implode<?php endif; ?>" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>json_arr_implode"<?php endif; ?> style="margin-top:5px;">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr_implode'); ?> class="form-control" rows="1" placeholder="输入分隔符"></textarea>
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php endif; ?>
- </div>
- <div class="c-p-field-extract-module" extract-module="json" style="display:none;">
- <?php $_tpl_type = 'json'; $_tpl_name = 'field'; $_tpl_name_pre = 'extract_'; $_tpl_allow_loop = '1';
- $_tpl_is_process=($_tpl_name=='data-process')?true:false;
- $_tpl_name_id='c_p_'.str_replace(array('[',']'),'_',$_tpl_name).'_'.str_replace(array('[',']'),'_',$_tpl_name_pre);
- if($_tpl_type=='rule'): ?>
- <div class="form-group">
- <label>规则</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule'); ?> class="form-control" rows="3" placeholder="<?php echo \think\Lang::get('tips_match'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_wildcard'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_wildcard"<?php else: ?>onclick="ruleInsertSign.wildcard('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo \think\Lang::get('sign_wildcard'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_match'); ?>" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']')"<?php endif; ?>><?php echo cp_sign('match'); ?></a></div>
- <div style="display:inline;"><a href="javascript:;" title="<?php echo \think\Lang::get('tips_sign_group'); ?>" class="blk" <?php if($_tpl_is_process): ?>data-rule-sign="sign_group"<?php else: ?>onclick="ruleInsertSign.match('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']',{group:1})"<?php endif; ?>>捕获组</a></div>
- <div>
- <span title="<?php echo \think\Lang::get('tips_regular'); ?>">正则</span>
- <a href="javascript:;" title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.tips()"></a>
- </div>
- </div>
- </div>
- <p class="help-block">规则中无<?php echo cp_sign('match'); ?>标签时,自动将完全匹配的值保存为<?php echo cp_sign('match'); ?>标签以供拼接调用</p>
- </div>
- <div class="form-group">
- <label>拼接成最终内容</label>
- <div class="input-group">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_merge'); ?> class="form-control" rows="2" placeholder="默认拼接规则中所有<?php echo cp_sign('match'); ?>标签,<?php echo \think\Lang::get('tips_matchn'); ?>"></textarea>
- <div class="input-group-addon iga-rt">
- <a href="javascript:;" title="调用当前规则中的内容标签" <?php if($_tpl_is_process): ?>data-rule-sign="sign_match_n"<?php else: ?>onclick="ruleInsertSign.matchN('[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule]\']','[name=\'<?php echo $_tpl_name; ?>[<?php echo $_tpl_name_pre; ?>rule_merge]\']',{def:1})"<?php endif; ?>><?php echo cp_sign('match','N'); ?></a>
- </div>
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-rule-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>rule_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-rule-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'rule_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='xpath'): ?>
- <div class="form-group">
- <label>规则</label>
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath'); ?> class="form-control" rows="3" placeholder="xpath规则"></textarea>
- </div>
- <div class="form-group">
- <label>属性</label>
- <div class="input-group input-select-custom">
- <div class="input-group-btn">
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr'); ?> class="form-control">
- <option value="">无</option>
- <option value="innerHtml">innerHtml</option>
- <option value="outerHtml">outerHtml</option>
- <option value="text">text</option>
- <option value="value">value</option>
- <option value="id">id</option>
- <option value="class">class</option>
- <option value="name">name</option>
- <option value="href">href</option>
- <option value="src">src</option>
- <option value="style">style</option>
- <option value="width">width</option>
- <option value="height">height</option>
- <option value="alt">alt</option>
- <option value="custom">自定义</option>
- </select>
- </div>
- <input type="text" class="form-control" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_attr_custom'); ?> />
- </div>
- </div>
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi'); ?> value="1"> 允许匹配多个结果</label></div>
- <div class="<?php if($_tpl_is_process): ?>process-extract-xpath-multi-str<?php endif; ?>" style="display:none;" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>xpath_multi_str"<?php endif; ?>>
- <?php if($_tpl_allow_loop): ?>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_type'); ?> class="form-control">
- <option value="">拼接为文本</option>
- <option value="loop">循环入库</option>
- <option value="list">列表数据,处理后拼接为文本</option>
- </select>
- <?php endif; ?>
- <div class="input-group box-xpath-multi-str" style="margin-top:10px;">
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'xpath_multi_str'); ?> class="form-control" placeholder="多个结果之间分隔符" />
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php elseif($_tpl_type=='json'): ?>
- <div class="form-group">
- <label>提取规则</label>
- <input type="text" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json'); ?> class="form-control" />
- <p class="help-block">直接输入键名,子节点用:a.b.c,通配符*</p>
- </div>
- <?php if($_tpl_allow_loop): ?>
- <div class="form-group">
- <div class="checkbox"><label><input type="checkbox" <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_loop'); ?> value="1"> 匹配到多个结果允许循环入库</label></div>
- </div>
- <?php endif; ?>
- <div class="form-group">
- <label>结果是数组则转换为</label>
- <select <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr'); ?> class="form-control">
- <option value="implode">字符串</option>
- <option value="jsonencode">json编码</option>
- <option value="serialize">序列化</option>
- </select>
- <div class="input-group<?php if($_tpl_is_process): ?> process-extract-json-arr-implode<?php endif; ?>" <?php if(!$_tpl_is_process): ?>id="<?php echo $_tpl_name_id; ?>json_arr_implode"<?php endif; ?> style="margin-top:5px;">
- <textarea <?php echo \util\Tools::cp_rule_module_name($_tpl_name,$_tpl_name_pre,'json_arr_implode'); ?> class="form-control" rows="1" placeholder="输入分隔符"></textarea>
- <div class="input-group-addon" style="padding-left:9px;padding-right:9px;"><span title="提示信息" class="glyphicon glyphicon-info-sign icon-info-tips" onclick="ruleInsertSign.cpDelimiterTips()"></span></div>
- </div>
- </div>
- <?php endif; ?>
- </div>
- </div>
- <div class="c-p-field-module" module="sign" style="display:none;">
- <div class="form-group">
- <textarea name="field[sign]" class="form-control" rows="3" placeholder="填入数据来源页面中区域规则或网址规则里的<?php echo cp_sign('match'); ?>标签"></textarea>
- <div id="c_p_field_sign_list" style="margin-top:10px;"></div>
- <p class="help-block">如果存在同名标签,实际获取后面的标签</p>
- </div>
- </div>
- </div>
- </div>
- <div class="form-group form-group-sm">
- <button type="submit" class="btn btn-primary btn-block">确定</button>
- </div>
- </form>
- <script type="text/javascript">
- <?php if($field): ?>
- c_pattern.cpField.init(<?php echo json_encode($field); ?>);
- <?php else: ?>
- c_pattern.cpField.init();
- <?php endif; ?>
- </script>
|