php采集程序中常用的函数
?
//获得当前的脚本网址function get_php_url(){ if(!empty($_server[request_uri])){ $scriptname = $_server[request_uri]; $nowurl = $scriptname; }else{ $scriptname = $_server[php_self]; if(empty($_server[query_string])) $nowurl = $scriptname; else $nowurl = $scriptname.?.$_server[query_string]; } return $nowurl;}//把全角数字转为半角数字function getalabnum($fnum){ $nums = array(0,1,2,3,4,5,6,7,8,9); $fnums = 0123456789; for($i=0;$i]*>([^>]+)/i',$code,$arr); return array('name'=>$arr[2],'url'=>$arr[1]);}//获取指定标记中的内容function get_tag_data($str, $start, $end){ if ( $start == '' || $end == '' ){ return; } $str = explode($start, $str); $str = explode($end, $str[1]); return $str[0];}//html表格的每行转为csv格式数组function get_tr_array($table) { $table = preg_replace(']*?>'si,'',$table); $table = str_replace( ,',',$table); $table = str_replace(
,{tr},$table); //去掉 html 标记 $table = preg_replace(''si,,$table); //去掉空白字符 $table = preg_replace('([\r\n])[\s]+',,$table); $table = str_replace( ,,$table); $table = str_replace( ,,$table); $table = explode(,{tr},$table); array_pop($table); return $table;}//将html表格的每行每列转为数组,采集表格数据function get_td_array($table) { $table = preg_replace(']*?>'si,,$table); $table = preg_replace(']*?>'si,,$table); $table = preg_replace(']*?>'si,,$table); $table = str_replace(
,{tr},$table); $table = str_replace( ,{td},$table); //去掉 html 标记 $table = preg_replace(''si,,$table); //去掉空白字符 $table = preg_replace('([\r\n])[\s]+',,$table); $table = str_replace( ,,$table); $table = str_replace( ,,$table); $table = explode('{tr}', $table); array_pop($table); foreach ($table as $key=>$tr) { $td = explode('{td}', $tr); array_pop($td); $td_array[] = $td; } return $td_array;}//返回字符串中的所有单词 $distinct=true 去除重复function split_en_str($str,$distinct=true) { preg_match_all('/([a-za-z]+)/',$str,$match); if ($distinct == true) { $match[1] = array_unique($match[1]); } sort($match[1]); return $match[1];}
