<!--
<?php
print <<<EOT
-->
<div class="ListTopMenu">
	<a href="index.php?lfj=gather&job=list">采集参数列表</a>
    <a href="index.php?lfj=gather&job=add_title">手工添加新规则</a>
    <a href="index.php?lfj=gather&job=addrulesql">导入新规则</a>
    <a href="http://bbs.qibosoft.com/thread-forum-fid-10324.htm" target="_blank">下载新规则</a> 
    <a href="index.php?lfj=gather&job=edit_title&id=$id">修改标题参数</a>
    <a href="index.php?lfj=gather&job=edit_content&id=$id">修改内容参数</a>
</div>
<form name="formse" id="formse" method="post" action="index.php?lfj=$lfj&action=$job&id=$id">
<div class="MainCont">
	<div class="head"><div class="tag">标题规则</div></div>
	<table width='100%' cellspacing='0' cellpadding='0' class="FormTable">
    <tr> 
      <td class="tdL">规则名称（可任意）:</td>
      <td class="tdR"> 
        <input type="text" name="webname" size="40" value="$webname">
      </td>
    </tr>
    <tr> 
      <td class="tdL">此规则所属分类（可任意）:</td>
      <td class="tdR"> $sort_fid</td>
    </tr>
    <tr class="susettr">
      <td class="tdL">网站编码选择:</td>
      <td class="tdR">
        <input type="radio" name="charset_type" value="0" $charset_typedb[0] >
        gbk-&gt;gbk 
        <input type="radio" name="charset_type" value="1" $charset_typedb[1]>
        utf8-&gt;gbk</td>
    </tr>
    <tr> 
      <td class="tdH"><br/></td>
      <td class="tdH">  
        <input type="radio" name="rulepage" value="0" checked id="rulepage0" onclick="show_rulepage(0)">
        手工输入多页 
        <input type="radio" name="rulepage" value="1" id="rulepage1" onclick="show_rulepage(1)">
        有规则的连续多页</td>
    </tr>
    <tr class="morepagenorule"> 
      <td class="tdL">要采集的标题列表页,有多页,每页换一行<font color="#FF0000"><br>
        <br>
        </font>比较傻瓜化,没规则的标题列表页可以在此输入,而有规则的也可以手工在此一页一页的输入<br><span help=1>注意:是文章的列表页,不是内容页</span>
      </td>
      <td class="tdR"> 
        <textarea name="listmoreurl" cols="70" rows="11">$listmoreurl</textarea>
      </td>
    </tr>
    <tr class="morepagerule"> 
      <td class="tdL"> 
        <p>要采集的文章列表网址: (请复制两个不同的列表页网址进行对比,查找变动那个数值即页码用<font color="#FF0000">[page]</font>代替)<font color="#FF0000"><br>
          </font>比如:<br>
          http://qibosoft.com/1/list.php?fid=1&amp;p=<font color="#FF0000">2</font><br>
          http://qibosoft.com/1/list.php?fid=1&amp;p=<font color="#FF0000">3</font><br>
          那右边应该填入<br>
          http://qibosoft.com/1/list.php?fid=1&amp;p=<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">[page]</font><br>
          对于带有<font color="#FF0000">?</font>号的网址,一般情况第一页不会显示<br>
          http://qibosoft.com/1/list.php?fid=1&amp;p=<font color="#FF0000">1</font> 
          而是<br>
          http://qibosoft.com/1/list.php?fid=1<br>
          所以大家最好从第二页开始分析,第一页有时看不出变化规则 <br>
          <span help=1> 又比如:<br>
          http://qibosoft.com/1/list_<font color="#FF0000">1</font>.htm <br>
          http://qibosoft.com/1/list_<font color="#FF0000">2</font>.htm<br>
          http://qibosoft.com/1/list_<font color="#FF0000">3</font>.htm <br>
          那右边应该填入<br>
          http://qibosoft.com/1/list_<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">[page]</font>.htm<br>
          注意:如果第一页不是这样<br>
          http://qibosoft.com/1/list_<font color="#FF0000">1</font>.htm <br>
          而是<br>
          http://qibosoft.com/1/index<font color="#FF0000"></font>.htm<br>
          的话,这种情况第一页属于没规则,就需要在下面的表单输入框,输入这一页的网址.这种情况也是比较多出现的</span></p>
        </td>
      <td class="tdR"> 
        <input type="text" name="listurl" value="$listurl" size="70">
      </td>
    </tr>
    <tr class="morepagerule"> 
      <td class="tdL">请写出开始页码数值,结尾页页码数值:<font color="#FF0000">(必填)</font><br>
        你可以设置指定采集第几页到第几页.必须要设置一个开始与结尾的页码,一般开始页是1,结尾页的话,就需要你去查看一下被采集的网站的文章列表共有几页,就输入那个数值.<br>
        <span help=1>
		而梯度,一般填1,即如以下格式<br>
        http://qibosoft.com/1/list.php?fid=1&amp;p=<font color="#FF0000">1</font><br>
        http://qibosoft.com/1/list.php?fid=1&amp;p=<font color="#FF0000">2</font><br>
        http://qibosoft.com/1/list.php?fid=1&amp;p=<font color="#FF0000">3</font><br>
        如果填10的话,将如以下格式<br>
        http://qibosoft.com/1/list.php?fid=1&amp;p=<font color="#FF0000">10</font><br>
        http://qibosoft.com/1/list.php?fid=1&amp;p=<font color="#FF0000">20</font><br>
        http://qibosoft.com/1/list.php?fid=1&amp;p=<font color="#FF0000">30</font> 
        <br> </span>
        </td>
      <td class="tdR">开始第几页 
        <input name="page_begin" type="text" id="atc_page1" value="$page_begin" size="5">
        结束第几页 
        <input name="page_end" type="text" id="atc_page2" value="$page_end" size="5">
        <br>
        梯度 
        <input name="page_step" type="text" id="atc_page2" value="$page_step" size="5">
        默认1,如果想跳页,你可以写2,3,....</td>
    </tr>
    <tr class="morepagerule"> 
      <td class="tdL">如果第一页没规则,请单独在此写出来第一页的网址:<br>
        比如第一页不是这个页,即不能访问<br>
        http://qibosoft.com/1/list_<font color="#FF0000">1</font>.htm<br>
        但 <br>
        http://qibosoft.com/1/list.htm<br>
        能访问,此时就在右边输入没规则的第一页</td>
      <td class="tdR"> 
        <input type="text" name="firstpage" value="$firstpage" size="70">
      </td>
    </tr>
    <tr> 
      <td class="tdL">自定义正则语法规则(<font color="#0000FF">即用通配符替换原文内容</font>):<br>
        第一步,随意查看一个要采集的标题列表页HTML网页源代码.<br>
        第二步,在源代码里,随意找一篇文章的标题与网址,只能是一篇文章中的一小段代码,不能是两篇.<br>
        举例:比如要采集的某个列表页中的任何一篇文章的标题html代码大致如下<br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;<font color="#FF0000">文章URL地址</font>&quot; 
        title=&quot;<font color="#0000FF">文章标题</font>&quot;&gt;<font color="#FF0000">文章标题</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;<br>
        那么左边输入<br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{url=*}</font>&quot; 
        title=&quot;<font color="#0000FF" title="点击即可实现复制" onClick="javascript:CopyText(this);">{*}</font>&quot;&gt;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{title=*}</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;<br>
       <br>
        以上只是举例,其中：<br>
        <font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{url=*}</font>代表标题网址通配符<br>
        <font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{title=*}</font>代表标题通配符<br>
        <font color="#0000FF" title="点击即可实现复制" onClick="javascript:CopyText(this);">{*}</font>代表不需要的内容通配符，比如当链接地址中有title描述的时候，就必须要使用到它,不能同时使用两个标题通配符的。<br>
        <span help=1> 复杂设置如下： <br>
        <br>
        比如要采集的某个列表页中的任何一篇文章的标题html代码大致如下<br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;<font color="#FF0000">文章URL地址</font>&quot; 
        title=&quot;<font color="#0000FF">文章标题</font>&quot;&gt;<font color="#FF0000">文章标题</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;<br>
        那么左边输入<br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{url=NO&quot;}</font>&quot; 
        title=&quot;<font color="#0000FF" title="点击即可实现复制" onClick="javascript:CopyText(this);">{NO&quot;}</font>&quot;&gt;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{title=NO&lt;}</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;<br>
        其中<font color="#FF0000">{url=NO&quot;}</font>代表地址当中不包含有<font color="#FF0000">&quot;</font>双引号的字符串<br>
        注意:如果代码当中没有&quot;号,而是单引号的话,要改变一下,如<br>
        &lt;tr&gt;&lt;td&gt;&lt;a href='<font color="#FF0000">文章URL地址</font>'title=&quot;<font color="#0000FF">文章标题</font>&quot;&gt;<font color="#FF0000">文章标题</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; 
        <br>
        以上这个情况是单引号的话,<br>
        那么需要变成<br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{url=NO'}</font>&quot; 
        title=&quot;<font color="#0000FF" title="点击即可实现复制" onClick="javascript:CopyText(this);">{NO&quot;}</font>&quot;&gt;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{title=NO&lt;}</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; 
        <br>
        即是把 <font color="#FF0000">{url=NO&quot;}</font> 换成了 <font color="#FF0000">{url=NO'}</font><br>
        这里遵循的是靠近原则,它旁边是什么符号,就输入什么符号.又比如是这种情况的话<br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=<font color="#FF0000">文章URL地址</font> title=&quot;<font color="#0000FF">文章标题</font>&quot;&gt;<font color="#FF0000">文章标题</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; 
        <br>
        那么需要变成<br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{url=NO 
        }</font> title=&quot;<font color="#0000FF" title="点击即可实现复制" onClick="javascript:CopyText(this);">{NO&quot;}</font>&quot;&gt;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{title=NO&lt;}</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; 
        <br>
        即是把 <font color="#FF0000">{url=NO&quot;}</font> 换成了 <font color="#FF0000">{url=NO 
        }<br>
        </font> 遵循的是靠近原则,他旁边是空格,这里也要输入空格,但必须要注意你的输入法是不是全格.如果是全格的话.要换为半格.全格输入的空格是有问题的.<br>
        又比如是这种情况的话<br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=<font color="#FF0000">文章URL地址</font>&gt;<font color="#FF0000">文章标题</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; 
        <br>
        那么就要换成 <br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{url=NO&gt;}</font>&gt;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{title=NO&lt;}</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; 
        <br>
        即是把 <font color="#FF0000">{url=NO&quot;}</font> 换成了 <font color="#FF0000">{url=NO&gt;}<br>
        </font> 遵循的是靠近原则,他旁边是&gt;大于号<br>
        其中<font color="#FF0000">{title=NO&lt;}</font>代表标题当中不包含有<font color="#FF0000">&lt;</font>号的字符串,也是遵循靠近原则,他旁边的是&lt;小于号<br>
        其中<font color="#0000FF">{NO&quot;}</font>代表不包含有<font color="#0000FF">&quot;</font>号的字符串,<br>
        必须要注意的是:为何他前面没有等号呢?那是因为不考虑取他的值,我们只需要标题与文章的链接网址就足够了.但是其他非相关的内容,也必须要写一个这样的正则.那是因为每个标题当中,他们都不是一样的代码.是变化的代码.<br>
        注:所有NO后面可以写上任何字符,可多个,但不能为中文,<br>
        例如:<font color="#FF0000">{url=NO' &quot;=&lt;&gt;}</font>代表除<font color="#FF0000">' 
        &quot;=&lt;&gt;</font>他们之外的字符串<br>
        另外有一点还需要注意的是: <br>
        当这种情况的时候:<br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=<font color="#FF0000">文章URL地址1</font>&gt;&lt;font 
        color=red&gt;<font color="#FF0000">文章标题1</font>&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;<br>
        或 <br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=<font color="#FF0000">文章URL地址2</font>&gt;<font color="#FF0000">文章标题2</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; 
        <br>
        这两种情况同时存在的话,那么就要换成 <br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{url=NO&gt;}</font>&gt;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{title=NO[}</font>&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; 
        <br>
        这里为什么不遵循靠近原则呢?那是因为部分标题他外面还包含了一个标题颜色的HTML代码&lt;font color=red&gt;&lt;/font&gt;而部分标题却没有,情况比较复杂.此时就需要找一个他们都不可能存在的符号,而这里设置[号,当然你也可以换成]+-]%#等等都可以的.只要他们当中都不可能出现的就可以.<br>
        另外还要注意的是,为什么要用这段代码:<br>
        &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;{url=NO&quot;}&quot; title=&quot;{NO&quot;}&quot;&gt;{title=NO&lt;}&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;<br>
        而不用<br>
        &lt;a href=&quot;{url=NO&quot;}&quot; title=&quot;{NO&quot;}&quot;&gt;{title=NO&lt;}&lt;/a&gt;<br>
        这段代码呢?<br>
        答案是:用这段也可以采集,但是会采集到太多不相关的内容.也就是说精确度不高.尽量拿多点代码.那精确度就会越高.但也不能过多.因为过多的话,有时就导致采集不到内容.只要唯一性就可以了.<br>
        </span></td>
      <td class="tdR"> 
        <textarea name="title_rule" cols="80" rows="12">$title_rule</textarea>
      </td>
    </tr>
    <tr class="susettr"> 
      <td class="tdL">url链接地址及标题中不能包含的字符<font color="#FF0000"><br>
        </font>一般情况都必填<font color="#FF0000"><b>&lt;<br>
        </b></font>多个请换行<br>
        (目的是过滤太多无用的链接地址) </td>
      <td class="tdR"> 
        <textarea name="link_noinclude_word" cols="70" rows="7">$link_noinclude_word</textarea>
      </td>
    </tr>
    <tr class="susettr"> 
      <td class="tdL">标题不能小于几个字符(常用):<br>
        留空不做限制,一个汉字相当于两个字符,一般输入8<br>
        (目的,有效过滤太短的标题也即是无用的链接) </td>
      <td class="tdR"> 
        <input type="text" name="title_minleng" size="4" value="$title_minleng">
      </td>
    </tr>
    <tr class="susettr"> 
      <td class="tdL">url链接地址中必须包含的字符<br>
        多个请换行 <br>
        (目的也是过滤太多无用的链接地址) </td>
      <td class="tdR"> 
        <textarea name="link_include_word" cols="70" rows="7">$link_include_word</textarea>
      </td>
    </tr>
    <tr> 
      <td class="tdH"><br/></td>
      <td class="tdH"> 
        <input type="checkbox" name="suset" value="checkbox"  onclick="show_more(0)">
        显示不常用的高级设置(<font color="#0000FF">一般不用</font>)</td>
    </tr>
    <tr class="susettr"> 
      <td class="tdL">替换标题链接地址中的字符<br>
        (一般留空,目的是有些链接地址比较怪僻,点击默认的不能访问那个内容页,不过情况极少出现.) <br>比如:<br>
		原字符a|新字符a<br>原字符b|新字符b</td>
      <td class="tdR"> 
        <textarea name="link_replace_word" cols="70" rows="7">$link_replace_word</textarea>
      </td>
    </tr>
    <tr class="susettr"> 
      <td class="tdL">替换标题中的字符<br>
        (一般留空,目的是过滤某些标题中不想见到的文字) <br>比如:<br>
		原字符a|新字符a<br>原字符b|新字符b</td>
      <td class="tdR"> 
        <textarea name="title_replace_word" cols="70" rows="7">$title_replace_word</textarea>
      </td>
    </tr>
    <tr class="susettr"> 
      <td class="tdL">欲截取页面中的指定部分的标题链接地址,此部分标题在整个页面HTML代码所在位置之前唯一出现的字符串<br>
        <br>
        (目的,去除指定标题之前无用信息,更准确无误的采集指定标题链接地址) </td>
      <td class="tdR"> 
        <textarea name="list_begin_code" cols="70" rows="7">$list_begin_code</textarea>
      </td>
    </tr>
    <tr class="susettr"> 
      <td class="tdL">欲截取页面中的指定部分的标题链接地址,此部分标题在整个页面HTML代码所在位置之后最先出现的字符串,但不在标题所在html代码里出现过<br>
        <br>
        (目的,去除指定标题之后的无用信息,更准确无误的采集指定标题链接地址) </td>
      <td class="tdR"> 
        <textarea name="list_end_code" cols="70" rows="7">$list_end_code</textarea>
      </td>
    </tr>
    <tr class="susettr"> 
      <td class="tdL">开头正则语法程序<br>
        <br>
        <br>
        (适合处理采集比较怪僻的网站.不懂PHP程序的,请留空,否则会出现严重问题使得采集程序无法运行) </td>
      <td class="tdR"> 
        <textarea name="list_begin_preg" cols="70" rows="7">$list_begin_preg</textarea>
      </td>
    </tr>
    <tr class="susettr"> 
      <td class="tdL">结尾正则语法程序<br>
        <br>
        (适合处理采集比较怪僻的网站.不懂PHP程序的,请留空,否则会出现严重问题使得采集程序无法运行) </td>
      <td class="tdR"> 
        <textarea name="list_end_preg" cols="70" rows="7">$list_end_preg</textarea>
      </td>
    </tr>
    <tr> 
      <td class="tdL"> 
        <input type="hidden" name="testgather">
        <input type="hidden" name="posttime" value="$timestamp">
      </td>
      <td class="tdR"> 
        <input type="button" name="Submit" value="点击,下一步" onclick="post(0);">
        <input type="button" name="Submit2" value="测试采集标题" onclick="post(1);">
        (最好先测试,觉得满意后,再提交) </td>
    </tr>
	</table>
</div>
</form>
<SCRIPT LANGUAGE="JavaScript">
<!--
function post(va){
	if(va==1){
		document.formse.target="_blank";
	}else{
		document.formse.target="";
	}
	document.formse.testgather.value=va
	document.formse.submit();
}

function show_rulepage(va){
	var s=document.getElementsByTagName("tr");
	for(var i=0;i<s.length;i++){
		if( formse.rulepage1.checked==true ||va==1 ){
			if(s[i].className=='morepagerule'){
				s[i].style.display="";
			}
			if(s[i].className=='morepagenorule'){
				s[i].style.display="none";
			}
			formse.rulepage1.checked=true;
			formse.rulepage0.checked=false;
			document.formse.listmoreurl.disabled=true;	
		}else{
			if(s[i].className=='morepagerule'){
				s[i].style.display="none";
			}
			if(s[i].className=='morepagenorule'){
				s[i].style.display="";
			}
			formse.rulepage1.checked=false;
			formse.rulepage0.checked=true;
			document.formse.listmoreurl.disabled=false;	
		}
	}
}
show_rulepage($rulepage);
function show_more(va){
	var s=document.getElementsByTagName("tr");
	for(var i=0;i<s.length;i++){
		if( document.formse.suset.checked==true ||va==1 ){
			if(s[i].className=='susettr'){
				s[i].style.display="";
			}	
		}else{
			if(s[i].className=='susettr'){
				s[i].style.display="none";
			}	
		}
	}
}
//位置必须放在最底下
show_more(0);
//-->
</SCRIPT>

<script language="Javascript">
function CopyText(obj) {
	ie = (document.all)? true:false
	if (ie){
		var rng = document.body.createTextRange();
		rng.moveToElementText(obj);
		rng.scrollIntoView();
		rng.select();
		rng.execCommand("Copy");
		rng.collapse(false);
		alert(obj.innerText+'被复制成功');
	}
}
</script>
<!--
EOT;
?>
-->
