日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

有用的函数-系统采集

發布時間:2023/12/16 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 有用的函数-系统采集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本帖最后由 leon_studio 于 2009-5-4 21:04 編輯

1.采集表格中的內容為數組

  • 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("'([rn])[s]+'","",$table);
  • ? ?? ???$table = str_replace(" ","",$table);
  • ? ?? ???$table = str_replace(" ","",$table);
  • ? ?? ???$table = explode('{tr}', $table);
  • ? ?? ???array_pop($table); //OSPHP.com.CN
  • ? ?? ???foreach ($table as $key=>$tr) {
  • ? ?? ?? ?? ?? ? $td = explode('{td}', $tr);
  • ? ?? ?? ?? ?? ? array_pop($td);
  • ? ?? ?? ?? ?$td_array[] = $td;
  • ? ?? ???}
  • ? ?? ???return $td_array;
  • }
  • 復制代碼 2.取得某行代碼中間的字符串

  • /**
  • +----------------------------------------------------------
  • * 取得某行代碼之間的字符串
  • +----------------------------------------------------------
  • * 例: echo get_innerhtml("<tr><td height=20>something</td></tr>", "td");? ?//will print "something".
  • +----------------------------------------------------------
  • */
  • function get_innerhtml($html,$label) {
  • ? ? $result_arr = preg_split("/<\/".$label.">/i",$html);
  • ? ? $pattern = "/<".$label.".*?>/i";
  • ? ? for ($i = 0; $i < count($result_arr); $i++) {
  • ? ?? ???list($left, $right) = preg_split($pattern,$result_arr[$i],2);
  • ? ?? ???$result_arr[$i] = $right;
  • ? ? }
  • ? ? return $result_arr;
  • }
  • 復制代碼 3.獲取Input的HTML代碼中的Value值

  • //獲取Input的HTML代碼中的Value值
  • function get_input_value($input) {
  • ? ? $pos = stripos($input, "value=") + 6;
  • ? ? if ($pos !== false) {
  • ? ?? ???$input = substr($input, $pos);
  • ? ?? ???if (substr($input, 0, 1) == "\"")
  • ? ?? ?? ?? ?return substr($input, 1, strpos($input, "\"", 1) - 1);
  • ? ?? ???else
  • ? ?? ?? ?? ?return substr($input, 0, strpos($input, " ") - 1);
  • ? ? }
  • ? ? return false;
  • }
  • 復制代碼 4.獲取字符串$str中,字符串$a與字符串$b之間的字符串
  • //獲取字符串$str中,字符串$a與字符串$b之間的字符串
  • function getcontentbetween($a, $b, $str) {
  • ? ? if ($str!=="" && $a!=="" && $b!=="") {
  • ? ?? ???$start = strpos($str, $a) + strlen($a);
  • ? ?? ???return substr($str, $start, strpos($str, $b, $start + 1) - $start);
  • ? ? }
  • ? ? return false;
  • }
  • 復制代碼 5.<br>變成回車
  • function br2nl($text)
  • {
  • ? ?return??trim(preg_replace('/<br\s*/?'.'>/i', '', $text));
  • }
  • 復制代碼 6.換行奕成<p></p>
  • function nl2p($text)
  • {
  • return str_replace(array("\r\n\r\n","\r\n","\r","\n"),"</p><p>",$text);
  • }
  • 復制代碼 7.獲得當前腳本網址
  • function get_php_url(){?
  • ? ?? ???if(!empty($_SERVER["REQUEST_URI"])){?
  • ? ?? ?? ?? ?? ? $scriptName = $_SERVER["REQUEST_URI"];?
  • ? ?? ?? ?? ?? ? $nowurl = $scriptName;?
  • ? ?? ???}else{?
  • ? ?? ?? ?? ?? ? $scriptName = $_SERVER["HP_SELF"];?
  • ? ?? ?? ?? ?? ? if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName;?
  • ? ?? ?? ?? ?? ? else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];?
  • ? ?? ???}?
  • ? ?? ???return $nowurl;?
  • }
  • 復制代碼 8.去除html標記

  • function Text2Html($txt){
  • ? ?? ???$txt = str_replace("??"," ",$txt);
  • ? ?? ???$txt = str_replace("<","&lt;",$txt);
  • ? ?? ???$txt = str_replace(">","&gt;",$txt);
  • ? ?? ???$txt = preg_replace("/[\r\n]{1,}/isU","<br/>\r\n",$txt);
  • ? ?? ???return $txt;
  • }
  • 復制代碼 9.相對路徑轉絕對路徑
  • 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;?
  • }
  • 復制代碼
    10.取得所有鏈接
  • function get_all_url($code){?
  • ? ?? ???preg_match_all('/<a\s+href=["|\']?([^>"\' ]+)["|\']?\s*[^>]*>([^>]+)<\/a>/i',$code,$arr);?
  • ? ?? ???return array('name'=>$arr[2],'url'=>$arr[1]);?
  • }
  • 復制代碼
    11.獲取指定標記中的內容
  • function get_tag_data($str, $start, $end){?
  • ? ?? ???if ( $start == '' || $end == '' ){?
  • ? ?? ?? ?? ?? ?return;?
  • ? ?? ???}?
  • ? ?? ???$str = explode($start, $str);?
  • ? ?? ???$str = explode($end, $str[1]);?
  • ? ?? ???return $str[0];?
  • }
  • 復制代碼

    本帖最后由 leon_studio 于 2009-5-11 18:27 編輯

    再補充兩個
    12.獲取遠程文件內容(抓內容)
  • /**?
  • ? ? 獲取遠程文件內容?
  • ? ? @param $url 文件http地址?
  • */?
  • function fopen_url($url)?
  • {?
  • ? ? if (function_exists('file_get_contents')) {?
  • ? ?? ???$file_content = @file_get_contents($url);?
  • ? ? } elseif (ini_get('allow_url_fopen') && ($file = @fopen($url, 'rb'))){?
  • ? ?? ???$i = 0;?
  • ? ?? ???while (!feof($file) && $i++ < 1000) {?
  • ? ?? ?? ?? ?$file_content .= strtolower(fread($file, 4096));?
  • ? ?? ???}?
  • ? ?? ???fclose($file);?
  • ? ? } elseif (function_exists('curl_init')) {?
  • ? ?? ???$curl_handle = curl_init();?
  • ? ?? ???curl_setopt($curl_handle, CURLOPT_URL, $url);?
  • ? ?? ???curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,2);?
  • ? ?? ???curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,1);?
  • ? ?? ???curl_setopt($curl_handle, CURLOPT_FAILONERROR,1);?
  • ? ?? ???curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Trackback Spam Check');?
  • ? ?? ???$file_content = curl_exec($curl_handle);?
  • ? ?? ???curl_close($curl_handle);?
  • ? ? } else {?
  • ? ?? ???$file_content = '';?
  • ? ? }?
  • ? ? return $file_content;?
  • }
  • 復制代碼 13.去掉指定的標簽函數
  • /*
  • $str = "ertet<a href=\"http://www.xxxx.com\" tasdfgrget=\"_blank\">aaaabbbb?
  • <img src=\"http://img.xxx.cn/xxxx.jpg\" width=\"760\" height=\"90\" border=\"0\" />?
  • ? ?? ?? ?? ?</a>aaadf";?
  • echo _strip_tags(array("a","img"),$str);?

  • */
  • function _strip_tags($tags_a,$str)?
  • {?
  • ? ? foreach ($tags_a as $tag)?
  • ? ? {?
  • ? ?? ???$p[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i";?
  • ? ? }?
  • ? ? $return_str = preg_replace($p,"",$str);?
  • ? ? return $return_str;?
  • }?
  • 14.從URL中獲取根域名
  • [code]
  • <?php
  • function getUrlBase($url=''){
  • if(!is_string($url) || empty($url)) return;
  • $parse = parse_url($url);
  • $host = $parse['host'];
  • $h = explode('.', $host);

  • //判斷是否本機域名或IP
  • if(false === strpos($host, '.') || preg_match("/^(\d+\.){3}(\d+)$/", $host)){
  • ??$root = $host;
  • }elseif(preg_match("/(?:com|tel|mobi|net|org|asia|me|tv|biz|cc|name|info)(?:\.\w{2})$/", $host, $match)){
  • ??array_pop($h);
  • ??array_pop($h);
  • ??$root = array_pop($h) . '.' . $match[0];
  • }elseif(preg_match("/(?:\w{2,4})$/", $host, $match)){
  • ??array_pop($h);
  • ??$root = array_pop($h) . '.' . $match[0];
  • }

  • return $root;
  • }
  • 復制代碼


    總結

    以上是生活随笔為你收集整理的有用的函数-系统采集的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。