博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP采集用到的几个实用函数
阅读量:6360 次
发布时间:2019-06-23

本文共 3478 字,大约阅读时间需要 11 分钟。

hot3.png

 //获得当前的脚本网址
  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("<","&lt;",$txt);
  $txt = str_replace(">","&gt;",$txt);
  $txt = preg_replace("/[ ]{1,}/isU","<br/> ",$txt);
  return $txt;
  }
  //清除HTML标记
  function ClearHtml($str){
  $str = str_replace('<','&lt;',$str);
  $str = str_replace('>','&gt;',$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('/<as+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("'([ ])[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("'([ ])[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];
  }

转载于:https://my.oschina.net/u/1015110/blog/126816

你可能感兴趣的文章
《音乐达人秀:Adobe Audition实战200例》——实例4 收音机音乐节目转录到电脑里...
查看>>
《JavaScript应用程序设计》一一3.1 过时的类继承
查看>>
Amazon 推出 API 网关使用计划
查看>>
《基于ArcGIS的Python编程秘笈(第2版)》——2.5 限制图层列表
查看>>
GNOME 地图 3.20 加入更多新特性 可用性得到加强
查看>>
《代码整洁之道:程序员的职业素养》导读
查看>>
《计算复杂性:现代方法》——习题
查看>>
Mozilla 释出更新修复中间人攻击漏洞
查看>>
《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <一>
查看>>
Spring声明式事务管理之二:核心接口API
查看>>
LNMP环境安装(二)
查看>>
MFC对话框编程-图片控件
查看>>
nodejs启动webserver服务
查看>>
小偷被抓叫嚣:我不偷警察没饭吃
查看>>
python初学—-实现excel里面读数据进行排序
查看>>
用户体验升级后 “谁行谁上”让百度Q4财报更有底气
查看>>
直播相关学习链接
查看>>
使用RPM包工具和源码包编译安装Linux应用程序
查看>>
VoIP——开启免费通话新时代的先锋
查看>>
Linux下rsync的用法
查看>>