网站建设资讯

NEWS

网站建设资讯

php采集数据函数 php采集框架

PHP 获取网页中用户输入的数据的函数

用户在表格form

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的兰西网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

中填写数据,然后提交到一个php文件,PHP文件使用函数获取数据

form action="welcome.php" method="post"

Name: input type="text" name="name"br

E-mail: input type="text" name="email"br

input type="submit" value="提交"

/form用户填写完username后提交到welcome.php文件,在welcome.php文件中,

html

body

Welcome ?php echo $_POST["name"]; ?br

Your email address is: ?php echo $_POST["email"]; ?

/body

/html$_POST["name"]就是用户输入的名字

怎么用php采集网站数据

简单的分了几个步骤:

1、确定采集目标

2、获取目标远程页面内容(curl、file_get_contents)

3、分析页面html源码,正则匹配你需要的内容(preg_match、preg_match_all),这一步最为重要,不同页面正则匹配规则不一样

4、入库

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=9;$i++)

$fnum

=

str_replace($nums[$i],$fnums[$i],$fnum);

$fnum

=

ereg_replace(”[^0-9\.]|^0{1,}”,””,$fnum);

if($fnum==””)

$fnum=0;

return

$fnum;

}

//去除HTML标记

function

Text2Html($txt)

{

$txt

=

str_replace(”

“,” ”,$txt);

$txt

=

str_replace(””,””,$txt);

$txt

=

str_replace(””,””,$txt);

$txt

=

preg_replace(”/[\r\n]{1,}/isU”,”br/\r\n”,$txt);

return

$txt;

}

//清除HTML标记

function

ClearHtml($str)

{

$str

=

str_replace('','',$str);

$str

=

str_replace('','',$str);

return

$str;

}

//相对路径转化成绝对路径

function

relative_to_absolute($content,

$feed_url)

{

preg_match('/(http|https|ftp):\/\//',

$feed_url,

$protocol);

$server_url

=

preg_replace(”/(http|https|ftp|news):\/\//”,

“”,

$feed_url);

$server_url

=

preg_replace(”/\/.*/”,

“”,

$server_url);

if

($server_url

==

”)

{

return

$content;

}

if

(isset($protocol[0]))

{

$new_content

=

preg_replace('/href=”\//',

‘href=”‘.$protocol[0].$server_url.'/',

$content);

$new_content

=

preg_replace('/src=”\//',

'src=”‘.$protocol[0].$server_url.'/',

$new_content);

}

else

{

$new_content

=

$content;

}

return

$new_content;

}

//取得所有链接

function

get_all_url($code){

preg_match_all('/a\s+href=[”|\']?([^”\'

]+)[”|\']?\s*[^]*([^]+)\/a/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(”‘td[^]*?'si”,'”‘,$table);

$table

=

str_replace(”/td”,'”,',$table);

$table

=

str_replace(”/tr”,”{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(”‘table[^]*?'si”,””,$table);

$table

=

preg_replace(”‘tr[^]*?'si”,””,$table);

$table

=

preg_replace(”‘td[^]*?'si”,””,$table);

$table

=

str_replace(”/tr”,”{tr}”,$table);

$table

=

str_replace(”/td”,”{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];

}


本文题目:php采集数据函数 php采集框架
转载来于:http://cdweb.net/article/dochhjj.html