<!--
<?php
print <<<EOT
--> 
<table width='100%' cellspacing='1' cellpadding='3' class="tablewidth"  id="top_menu">
  <tr> 
    <td>[<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.php168.com/thread-bbs-fid-1055.html" 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>]</td>
  </tr>
</table>
<table width="100%" border="0" cellpadding="3" cellspacing="1" class="tablewidth">
  <form name="formse" id="formse" method="post" action="index.php?lfj=$lfj&action=$job&id=$id" >
    <tr class="head" bgcolor="#FFFFFF"> 
      <td colspan="2">&gt;&gt;内容采集规则设置</td>
    </tr>
    <tr bgcolor="#FFFFFF" align="center"> 
      <td colspan="2"> 
        <input type="radio" name="type" value="iframe" onclick="show_more('iframe')" $typedb[iframe]>
        类似奇虎/大旗框架对方网页即可 
        <input type="radio" name="type" value="article" onclick="show_more('article')" $typedb[article]>
        内容采集<font color="#FF0000">(常用,请选择)</font> 
        <input type="radio" name="type" value="file" onclick="show_more('file')" $typedb[file]>
        <font color="#666666">高级采集</font>(<font color="#0000FF">一般不用</font>)</td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
      <td width="40%">是否过滤相同的标题而不采集:<br>
        (目的,防止采集重复文章)</td>
      <td width="60%"> 
        <input type="radio" name="gatherthesame" value="1" $gatherthesamedb[1]>
        是过滤 
        <input type="radio" name="gatherthesame" value="0" $gatherthesamedb[0]>
        不过滤</td>
    </tr>
  
    <tr bgcolor="#FFFFFF"  class="filetr" style="display:none;"> 
      <td width="40%"> 
        <p>截取页面中的主要内容,在任何一个HTML页面代码中,主要内容前面出现的唯一字符串</p>
        <p>此操作需要分别查看其中两个以上内容页的html代码才好做出比较分析,不查看分析html代码没法在右边表单输入内容</p>
      </td>
      <td width="60%"> 
        <textarea name="show_begin_code" cols="70" rows="7">$show_begin_code</textarea>
      </td>
    </tr>
    <tr bgcolor="#FFFFFF"  class="filetr" style="display:none;"> 
      <td width="40%">截取页面中的主要内容,在任何一个HTML页面代码中,主要内容后面出现的唯一字符串,但此字符串没在主要内容中出现过<br>
        一般情况填<font color="#FF0000">&lt;/td&gt;</font> <br>
        <br>
        此操作需要分别查看其中两个以上内容页的html代码才好做出比较分析 ,不查看分析html代码没法在右边表单输入内容</td>
      <td width="60%"> 
        <textarea name="show_end_code" cols="70" rows="7">$show_end_code</textarea>
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="articletr">
      <td width="40%">自定义正则语法规则(<font color="#0000FF">即用通配符替换原文内容</font>):<br>
        第一步,打开查看任意一篇要采集的文章详细内容页HTML网页源代码.<br>
        第二步,查看网页源代码,找到文章内容,删除他,用通配符<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{content=*}</font>替换,然后再把他前面与后面的一小段代码也复制过来即可.<br>
        <br>
        <font color="#0000FF">简单举例(常用):</font>比如被采集的网站内容页的html代码如下<br>
        &lt;tr&gt;&lt;td&gt;<font color="#FF0000">文章内容部分</font>&lt;/td&gt;&lt;/tr&gt;&lt;table&gt; 
        <br>
        那么右边输入<br>
        &lt;tr&gt;&lt;td&gt;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{content=*}</font>&lt;/td&gt;&lt;/tr&gt;&lt;table&gt; 
        <br>
        <br>
        <font color="#FF0000">说明:</font>通配符的前后有一小段HTML代码,是不可少的,目的是为了找规则,不需要太多,也不要太少,达到唯一性即可.<br>
        <br>
        <font color="#0000FF">复杂举例(少用):</font>比如内容的html代码如下<br>
        时间:<font color="#FF0000">2008-12-24 12:13</font>abc<font color="#9900FF">不相关内容</font>作者:<font color="#00FF00">张三</font>abc<font color="#0000FF">不相关内容</font>来源:<font color="#FF00FF">php168网站</font>abc<font color="#0000FF">不相关内容</font>&lt;tr&gt;&lt;td 
        class=&quot;asc&quot;&gt;<font color="#FF0000">文章内容部分</font>&lt;/td&gt;&lt;/tr&gt;&lt;table&gt; 
        <br>
        那么右边输入<br>
        时间:<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{posttime=*}</font>abc<font color="#9900FF" title="点击即可实现复制" onClick="javascript:CopyText(this);">{*}</font>作者:<font color="#00FF00" title="点击即可实现复制" onClick="javascript:CopyText(this);">{author=*}</font>abc<font color="#0000FF" onClick="javascript:CopyText(this);">{*}</font>来源:<font color="#FF00FF" title="点击即可实现复制" onClick="javascript:CopyText(this);">{copyfrom=*}</font>abc<font color="#0000FF" onClick="javascript:CopyText(this);">{*}</font>&lt;tr&gt;&lt;td 
        class=&quot;asc&quot; &gt;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{content=*}</font>&lt;/td&gt;&lt;/tr&gt;&lt;table&gt; 
        <br>
        注意：除内容外，其它每个参数后面，一般都带有{*}非相关内容的通配符,通配符前面都有一个固定的字符，不能缺少固定的字符，如abc<br>
        <span help=1> <br>
        必须要注意的是:<br>
        为何要取内容的html代码如下<br>
        <div style="border:1px dotted #333;margin:4px;"> &lt;tr&gt;&lt;td&gt;<font color="#FF0000">文章内容部分</font>&lt;/td&gt;&lt;/tr&gt;<font color="#0000FF">&lt;table&gt; 
          </font><br>
          那么右边输入<br>
          &lt;tr&gt;&lt;td&gt;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{content=*}</font>&lt;/td&gt;&lt;/tr&gt;<font color="#0000FF">&lt;table&gt;</font></div>
        而不是 <br>
        <div style="border:1px dotted #333;margin:4px;"> &lt;tr&gt;&lt;td&gt;<font color="#FF0000">文章内容部分</font>&lt;/td&gt;&lt;/tr&gt;<br>
          那么右边输入<br>
          &lt;tr&gt;&lt;td&gt;<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{content=*}</font>&lt;/td&gt;&lt;/tr&gt;</div>
        这个呢?<br>
        为什么要多一段 <font color="#0000FF">&lt;table&gt;</font> 呢?其实少这一段也是可以的,但就有可能采集到其他内容,即是精确度不高.代码多一点,精确度就高一点,但也不是越多越好.因为太多的话.有可能就采集不到了.<br>
        <br>
        <font color="#FF0000">注意:</font> 如果你采集的不仅仅是内容,还有其它作者、来源等参数,注意不能缺少{*},{*}代表非相关内容的通用代表符.</span> 
      </td>
      <td width="60%">
        <textarea name="content_rule" cols="80" rows="12">$content_rule</textarea>
      </td>
    </tr>
    <tr bgcolor="#EAEAEA" class="filetr" align="center"> 
      <td colspan="2"> 如果想尽可能的做到绝对精确,你设置以下的完毕后,请再点击上方的[<font color="#FF0000">采集文章</font>]进行采集主内容设置</td>
    </tr>
    <tr bgcolor="#FFFFFF" class="filetr"> 
      <td width="40%">文件后缀名<br>
        采集图片的话,请输入<font color="#FF0000">jpg</font>或<font color="#FF0000">jpg|gif</font>,FLASH的话.请输入<font color="#FF0000">swf</font><br>
      </td>
      <td width="60%"> 
        <input type="text" name="file_type" size="40" value="$file_type">
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="filetr"> 
      <td width="40%"> 文件地址开头必须有的字符</td>
      <td width="60%"> 
        <input type="text" name="file_star_string" size="40" value="$file_star_string">
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="filetr"> 
      <td width="40%">适用于哪个系统:<br>
        文章系统的话写article,其他可选参数为music,mv,photo,flash,down</td>
      <td width="60%"> 
        <input type="text" name="fixsystem" value="$fixsystem">
        留空,则为文章</td>
    </tr>
    <tr bgcolor="#FFFFFF" class="filetr"> 
      <td width="40%">文件url地址长度不能小于<br>
        <br>
      </td>
      <td width="60%"> 
        <input type="text" name="file_minleng" size="7" value="$file_minleng">
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="filetr"> 
      <td width="40%">文件不能小于多少字节<br>
        <br>
        最好留空,极影响效率</td>
      <td width="60%"> 
        <input type="text" name="file_minsize" size="10" value="$file_minsize">
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="filetr"> 
      <td width="40%">文件URL地址必须包含有的字符<br>
        <br>
        多个请换行 </td>
      <td width="60%"> 
        <textarea name="file_includeword" cols="70" rows="7">$file_includeword</textarea>
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="filetr"> 
      <td width="40%">文件URL地址不能包含有的字符<br>
        <br>
        <br>
        多个请换行</td>
      <td width="60%"> 
        <textarea name="file_noincludeword" cols="70" rows="7">$file_noincludeword</textarea>
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="filetr"> 
      <td width="40%">文件url分隔符<br>
        <br>
        一般是<font color="#FF0000">src=<br>
        </font>为了更准确的话,也可以再长一点 </td>
      <td width="60%"> 
        <textarea name="file_explode" cols="70" rows="7">$file_explode</textarea>
      </td>
    </tr>
    <tr bgcolor="#EEEEEE"   align="center"> 
      <td colspan="2"> 
        <input type="checkbox" name="suset" value="checkbox"  onClick="show_suset(0)">
        显示不常用的高级设置(<font color="#0000FF">一般不用</font>)</td>
    </tr>
    <tr bgcolor="#FFFFFF" class="articletr_su"> 
      <td width="40%">要替换文章中的字符:<br>
        <br>
        目的,过滤不愿意看到的文字<br>
        格式为<font color="#FF0000">旧字符|新字符 </font></td>
      <td width="60%"> 
        <textarea name="show_replace_word" cols="70" rows="7">$show_replace_word</textarea>
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="articletr_su"> 
      <td width="40%">多页处理:默认首页被替换的字符<br>
        (如留空,内容如有多页将不采集直接跳过)<br>
        比如: <br>
        第一页http://php168.com/1/index.html<br>
        第二页http://php168.com/1/index_2.htm<br>
        那么右边的表单填<font color="#FF0000">.html<br>
        </font>分析规则就是对比第一页与第二页的网址从左到右哪个字符出现不同,就把之后的字符复制出来</td>
      <td width="60%"> 
        <input type="text" name="show_firstpage" size="70" value="$show_firstpage">
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="articletr_su"> 
      <td width="40%">多页处理:变动的页去替换的字符<br>
        (留空,内容如有多页将不采集直接跳过)<br>
        比如: <br>
        第一页http://php168.com/1/index.html<br>
        第二页http://php168.com/1/index_2.htm<br>
        那么右边的表单填<font color="#FF0000">_[page].htm<br>
        </font>分析规则就是对比第一页与第二页的网址从左到右哪个字符出现不同,就把第二页之后的字符复制出来,并把变动的页码数字用[page]替换</td>
      <td width="60%"> 
        <input type="text" name="show_morepage" size="70" value="$show_morepage">
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="articletr_su"> 
      <td width="40%">多页时.第二页是否怪癖,<br>
        比如: <br>
        第一页http://php168.com/1/index.html<br>
        第二页http://php168.com/1/index_<font color="#FF0000">1</font>.html<br>
        此时属于怪癖的,理论上应该是<br>
        第三页http://php168.com/1/index_<font color="#FF0000">2</font>.html <br>
        所以右边请选择是,一般情况都是选否的 </td>
      <td width="60%"> 
        <input type="radio" name="show_spe2page" value="1" $show_spe2pagedb[1]>
        是 
        <input type="radio" name="show_spe2page" value="0" $show_spe2pagedb[0]>
        否 </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="articletr_su"> 
      <td width="40%">开头PHP正则程序语法<br>
        <br>
        (适合处理采集比较怪僻的网站.不懂PHP程序的,请留空,否则会出现严重问题使得采集程序无法运行) </td>
      <td width="60%"> 
        <textarea name="show_begin_preg" cols="70" rows="7">$show_begin_preg</textarea>
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="articletr_su"> 
      <td width="40%">结尾PHP正则程序语法<br>
        <br>
        (适合处理采集比较怪僻的网站.不懂PHP程序的,请留空,否则会出现严重问题使得采集程序无法运行) </td>
      <td width="60%"> 
        <textarea name="show_end_preg" cols="70" rows="7">$show_end_preg</textarea>
      </td>
    </tr>
    <tr bgcolor="#FFFFFF" class="articletr_su"> 
      <td width="40%">采集文件结尾的PHP正则程序语法<br>
        <br>
        (适合处理采集比较怪僻的网站.不懂PHP程序的,请留空,否则会出现严重问题使得采集程序无法运行) </td>
      <td width="60%"> 
        <textarea name="show_endfile_preg" cols="70" rows="7">$show_endfile_preg</textarea>
      </td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
      <td width="40%"> 
        <input type="hidden" name="testgather">
      </td>
      <td width="60%"> 
        <input type="button" name="Submit" value="提交" onclick="post(0)">
        <input type="button" name="Submit2" value="测试采集" onclick="post(1)">
      </td>
    </tr>
  </form>
</table>
<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_more(va){
	var s=document.getElementsByTagName("tr");
	for(var i=0;i<s.length;i++){
		if( va=="article" ){
			if(s[i].className=='articletr'){
				s[i].style.display="";
			}
			if(s[i].className=='filetr'){
				s[i].style.display="none";
			}	
		}else if( va=="file" ){
			if(s[i].className=='articletr'){
				s[i].style.display="none";
			}
			if(s[i].className=='filetr'){
				s[i].style.display="";
			}	
		}else{
			if(s[i].className=='articletr'){
				s[i].style.display="none";
			}
			if(s[i].className=='filetr'){
				s[i].style.display="none";
			}
		}
	}
}
show_more('$type');

function show_suset(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=='articletr_su'){
				s[i].style.display="";
			}	
		}else{
			if(s[i].className=='articletr_su'){
				s[i].style.display="none";
			}	
		}
	}
}
show_suset(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;
?>
-->
<table width="100%" border="0" cellpadding="3" cellspacing="1" class="tablewidth">
     <tr class="head" bgcolor="#FFFFFF"> 
      <td colspan="2">帮助说明</td>
    </tr>
  <tr>
    <td>1.通配符说明：内容通配符是<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{content=*}</font>,不相关内容通配符是<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{*}</font>,作者通配符是<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{author=*}</font>,来源通配符是<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{copyfrom=*}</font>,日期通配符是<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{posttime=*}</font>,浏览量通配符是<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{hits=*}</font><br>
      2.当你仅仅获取内容时，是不需要用到“不相关内容”通配符的,否则是必须要用到“不相关内容”通配符的，不使用<font color="#FF0000" title="点击即可实现复制" onClick="javascript:CopyText(this);">{*}</font>的话，基本上是采集不成功。<br>
      3.针对于非文章模型的采集,你需要查看对应的自定义字段的英文字段名,即<font color="#0000FF">{自定义字段名=*}</font>即可,如字段名是abcd,那么通配符是<font color="#FF0000">{abcd=*}</font><br>
      4.对于自定义模型,任何一个自定义字段,都是可以采集入库的. <br>
      5.采集器的原理就是查看网页源代码,找到要采集的字符串用通配符替换.如果要采集的不仅仅是文章内容的话,也即要采集两项以上的话,就必须要使用“不相关内容通配符”，但是采集字段的通配符后面或前面不能直接是{*}，必须要有其它至少一个以上的HTML代码隔开</td>
  </tr>
</table>
