最新公告
  • 欢迎您光临波比源码,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 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]; 
    波比源码 – 精品源码模版分享 | www.bobi11.com
    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

    波比源码 » PHP采集程序常用的采集函数收藏

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    波比源码
    一个高级程序员模板开发平台
    升级波友尊享更多特权立即升级