网站地图    收藏   

主页 > php专栏 > php函数大全 >

PHP采集程序常用的采集函数收藏 - php函数

来源:自学PHP网    时间:2014-11-25 00:27 作者: 阅读:

[导读] 这几天关注了一下PHP的采集程序,才发现用PHP采集内容是这么方便,把经常用到的采集函数在这里总结一下,方便以后使用 在php采集页面中最常用...

PHP采集程序常用的采集函数收藏

这几天关注了一下PHP的采集程序,才发现用PHP采集内容是这么方便,把经常用到的采集函数在这里总结一下,方便以后使用.

在php采集页面中最常用的就是过滤一些特殊字符或把内容中的图片也采集保存下来,下面我来给大家介绍我在写php采集程序时一些常用的函数.

  1. 获取所有链接内容和地址 
  2. function getAllURL($code){ 
  3. preg_match_all('/<as+href=["|']?([^>"' ]+)["|']?s*[^>]*>([^>]+)</a>/i',$code,$arr); 
  4. return array('name'=>$arr[2],'url'=>$arr[1]); 
  5. 获取所有的图片地址 
  6. function getImgSrc($code){ 
  7. $reg = "/]*src="(http://(.+)/(.+).(jpg|gif|bmp|bnp|png))"/isU"; 
  8. preg_match_all($reg$code$img_array, PREG_PATTERN_ORDER); 
  9. return $img_array[1]; 
  10. 当前的脚本网址 
  11. function getSelfURL(){ 
  12. if(!emptyempty($_SERVER["REQUEST_URI"])){ 
  13. $scriptName = $_SERVER["REQUEST_URI"]; 
  14. $nowurl = $scriptName
  15. }else
  16. $scriptName = $_SERVER["PHP_SELF"]; 
  17. if(emptyempty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName
  18. else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"]; 
  19. return $nowurl
  20. 把全角数字转为半角数字 
  21. function getAlabNum($fnum){ 
  22. $nums = array("0","1","2","3","4","5","6","7","8","9"); 
  23. $fnums = "0123456789"
  24. for($i=0;$i<=9;$i++) $fnum = str_replace($nums[$i],$fnums[$i],$fnum); 
  25. $fnum = ereg_replace("[^0-9.]|^0{1,}","",$fnum); 
  26. if($fnum==""$fnum=0; 
  27. return $fnum
  28. 去除HTML标记 
  29. function text2Html($txt){ 
  30. $txt = str_replace(" "," ",$txt); 
  31. $txt = str_replace("<","<",$txt); 
  32. $txt = str_replace(">",">",$txt); 
  33. $txt = preg_replace("/[rn]{1,}/isU","<br/>rn",$txt); 
  34. return $txt
  35. 清除HTML标记 
  36. function clearHtml($str){ 
  37. $str = str_replace('<','<',$str); 
  38. $str = str_replace('>','>',$str); 
  39. return $str
  40. 相对路径转化成绝对路径 
  41. function relative2Absolute($content$feed_url) { 
  42. preg_match('/(http|https|ftp):///'$feed_url$protocol); 
  43. $server_url = preg_replace("/(http|https|ftp|news):///"""$feed_url); 
  44. $server_url = preg_replace("//.*/"""$server_url); 
  45. if ($server_url == '') { 
  46. return $content
  47. if (isset($protocol[0])) { 
  48. $new_content = preg_replace('/href="//''href="'.$protocol[0].$server_url.'/'$content); 
  49. $new_content = preg_replace('/src="//''src="'.$protocol[0].$server_url.'/'$new_content); 
  50. else { 
  51. $new_content = $content
  52. return $new_content
  53. 获取指定标记中的内容 
  54. function getTagData($str$start$end){ 
  55. if ( $start == '' || $end == '' ){ 
  56. return
  57. $str = explode($start$str); 
  58. $str = explode($end$str[1]); 
  59. return $str[0]; 
  60. HTML表格的每行转为CSV格式数组 
  61. function getTrArray($table) { 
  62. $table = preg_replace("'<td[^>]*?>'si",'"',$table); 
  63. $table = str_replace("</td>",'",',$table); 
  64. $table = str_replace("</tr>","{tr}",$table); 
  65. //去掉 HTML 标记 
  66. $table = preg_replace("'<[/!]*?[^<>]*?>'si","",$table); 
  67. //去掉空白字符 
  68. $table = preg_replace("'([rn])[s]+'","",$table); 
  69. $table = str_replace(" ","",$table); 
  70. $table = str_replace(" ","",$table); 
  71. $table = explode(",{tr}",$table); 
  72. array_pop($table); 
  73. return $table
  74. 将HTML表格的每行每列转为数组,采集表格数据 
  75. function getTdArray($table) { 
  76. $table = preg_replace("'<table[^>]*?>'si","",$table); 
  77. $table = preg_replace("'<tr[^>]*?>'si","",$table); 
  78. $table = preg_replace("'<td[^>]*?>'si","",$table); 
  79. $table = str_replace("</tr>","{tr}",$table); 
  80. $table = str_replace("</td>","{td}",$table); 
  81. //去掉 HTML 标记 
  82. $table = preg_replace("'<[/!]*?[^<>]*?>'si","",$table); 
  83. //去掉空白字符 
  84. $table = preg_replace("'([rn])[s]+'","",$table); 
  85. $table = str_replace(" ","",$table); 
  86. $table = str_replace(" ","",$table); 
  87. $table = explode('{tr}'$table); 
  88. array_pop($table); 
  89. foreach ($table as $key=>$tr) { 
  90. $td = explode('{td}'$tr); 
  91. array_pop($td); 
  92. $td_array[] = $td
  93. return $td_array
  94. 返回字符串中的所有单词 $distinct=true 去除重复 
  95. function splitEnStr($str,$distinct=true) { 
  96. preg_match_all('/([a-zA-Z]+)/',$str,$match); 
  97. if ($distinct == true) { 
  98. $match[1] = array_unique($match[1]); 
  99. sort($match[1]); 
  100. return $match[1]; 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论