코드 복사 코드는 다음과 같습니다.
// php4 php5 호환
// 프로그램 작성자 Zhang Jian 52linux.com (저는 Linux를 좋아합니다)
// 문의 방법 733905@qq.com QQ 733905
// 간단한 호출 방법
/*
include ("ugs.php") // 이 ugs.phps를 다운로드하고 ugs.php로 이름을 바꿀 수 있습니다
$ ugs = new ugs();
$url = "http://domainname.com/path_to_your_target?param"
$ugs->seturl($url)
$ugs->gather ( )//......여기서 이 클래스의 다른 메소드를 호출하여 $ugs->value_를
요구사항에 맞게
$c
print($ content);
*/
class ugs
{
var $value_ ; //'대상 콘텐츠
//'대상 URL 주소
function seturl($url)
{
$this->src_=$url
}
function getcontent()
{
return $this->value_;
}
function getfile($url)
// 대상 가져오기
{
$url_parsed = pars_url($url)
$host = $url_parsed["host"];
$port = $url_parsed["port"];
if ($port==0) $port = 80
$path = $url_parsed["path" ]; ($path))
$path="/";
if ($url_parsed["query"] != "")
$path .= "?" ;
$out = "$path HTTP/1.0rnHost: $hostrnrn";
$fp = fsockopen($host, $port, $errno, $errstr, 30)
fwrite($fp , $out);
$body = false;
while (!feof($fp))
{
$s = fgets($fp, 102 4)
if ( $ body ) $in .= $s
if ( $s == "rn" )
$body = true; fclose($fp)
return $in; function getfile_curl($url)
{
$curl="/usr/local/bin/curl "; // 컬의 경로
$curl_opti
// 컬 사용법은 다음을 참조하세요. 컬 --help 또는 man 컬
// 컬은 매우 풍부한 매개변수를 가지며 다양한 브라우저(에이전트)를 시뮬레이션할 수 있습니다.
$cmd="$curl $curl_options $url "; ($cmd,$o,$r);
if($r!=0)
{
return "timeout"
}
Else {
$ o = Join ("", $ o);
$ o 반환
}
}
함수 Gather_curl($ 컬)
{{{{{{{{{{ {{{{{
$http=$this->getfile_curl($this->src_);
function gather_array($url)
{
return file($url);
}
함수 gather()
// 开始收集
{
$http=$this->getfile($this->src_);
return $this->value_=$http;
}
function gather_local($toline=true)
// 处理本地文件
{
if($toline)
$http=파일($this- >src_);
return $this->value_=$this->BytesToBstr($http);
}
else
{
$http=file($this->src_);
$this->value_=$http를 반환합니다.
}
}
함수 noReturn()
// 删除回车换行
{
$this->value_=str_replace("n","",$this- >값_);
$this->value_=str_replace("r","",$this->value_);
}
기능 변경($oldStr,$str)
//'对收集到的内容中的个别字符串用新值更换/方法
//'参数分别字符串, 새로운 문자符串
{
$this->value_=str_replace($oldStr,$str,$this->value_ );
}
함수 cut($start,$end,$no='1',$comprise='')
//'按指定首尾字符串对收集的内容进行裁减(不包括首尾字符串) 방법
// $no 必须是 1,2 3 ... 不允许是0
//$comprise 可以选择 start 或者 end 或者 all 或者 什么書不填
{
$string=explode($start,$this->value_);
//print_r($string);
$string=explode($end,$string[$no]);
//print_r($string);
스위치 ($comprise){
case 'start':
$string=$start.$string[0];
휴식;
케이스 '종료':
$string=$string[0].$end;
휴식;
대문자 '모두':
$string=$start.$string[0].$end;
휴식;
기본값:
$string=$string[0];
}
return $this->value_=$string;
}
function filt($head,$bot,$str,$no='1',$comprise='')
//'수집된 콘텐츠를 지정된 첫 번째와 마지막에 따라 새로운 값으로 교체 strings (첫 번째 및 마지막 문자열 제외) 메서드
// '매개변수는 첫 번째 문자열, 마지막 문자열, 새 값입니다. 새 값이 비어 있으면 필터링됩니다.
{
$tmp_v=$this->value_;
$tmp=$this->cut($head,$bot,$no,$comprise) 🎜> }
function local()
{
//'수집된 콘텐츠의 절대 URL 주소를 로컬 상대 주소로 변경
// 아직 구현되지 않았습니다
}
function replacementByReg($patrn,$str)
// '수집된 콘텐츠의 정규식과 일치하는 문자열을 새 값/메소드로 교체
//'매개변수는 사용자 정의 정규식입니다. 새 값
{
return $this->value_=join ("",preg_replace($patrn,$str,$this->value_));
//디버그 표시
{
$tempstr="<SCRIPT>function runEx(){var winEx2 = window.open("", "winEx2", "너비=500, 높이=300, 상태=yes,menubar=no,scrollbars=yes,resizing=yes") winEx2.document.open("text/html" , "교체"); winEx2.document.write(unescape(event.srcElement.parentElement.children [0].value)); winEx2.document.close() }function saveFile(){var win=window.open( '','','top=10000,left=10000');win.document.write(document.all.asdf.innerText);win.document.execCommand('SaveAs','','javascript.htm' );win.close();}</SCRIPT>