>백엔드 개발 >PHP 튜토리얼 >온라인 숙어사전 홍은 온라인 숙어사전 도둑 프로그램 PHP 버전

온라인 숙어사전 홍은 온라인 숙어사전 도둑 프로그램 PHP 버전

WBOY
WBOY원래의
2016-07-29 08:48:271038검색

주요 기능은 file_get_contents입니다. 주요 프로그램은 두 부분으로 나누어져 있습니다. 저와 함께 살펴보겠습니다. (원본 코드는 Mortal Blog에 있습니다. 다시 인쇄할 때 표시해 주세요.)

코드 복사 코드는 다음과 같습니다.


function escape($str){
preg_match_all('/[ x80-xff ].|[x01-x7f] /',$str,$r)
$ar = $r[0]
foreach($ar as $k=>$v){
if(ord($v[0]) < 128)
$ar[$k] = rawurlencode($v)
else
$ar[$k] = '%u '.bin2hex (iconv('GB2312','UCS-2',$v))
}
return Join('',$ar)
}


위 이 함수는 JavaScript의 이스케이프 인코딩 프로세스를 구현하기 위해 주로 PHP를 사용합니다. 왜냐하면 Hongen의 쿼리 인터페이스는 이스케이프 인코딩 후 관용구 항목인 과거 값을 전달해야 하기 때문입니다.

코드 복사 코드는 다음과 같습니다.


function chacy($chengyu){
$chengyu=escape( $chengyu) ;
$text=@file_get_contents('http://study.hongen.com/dict/ndsearchchengyu.aspx?type=exact&word='.$chengyu)
$pos1=strpos($text ,'< ;테이블>')
$pos2=strrpos($text,'<테이블>')
$text=substr($text,$pos1,$pos2-$pos1)
/ /문자 세트를 원래 UTF-8에서 GB2312로 변환합니다. //IGNORE는 GB2312 뒤에 추가되어 특수 문자를 만나면 강제로 변환을 계속합니다. 왜냐하면 iconv 함수가 중국어 문자를 만나면 변환을 종료하기 때문입니다. "一"
$text=iconv('UTF-8','GB2312//IGNORE',$text)
if (strpos($text,'Source')){
return $text ;
}
}


위는 자체 정의된 관용구 쿼리 함수입니다. 먼저 쿼리할 관용구 항목을 escape 인코딩한 다음 file_get_contents 함수를 사용하여 "http"를 얻습니다. //study.hongen.com/dict/ ndsearchchengyu.aspx?type=exact&word=”페이지 쿼리 내용은 substr을 사용하여 앞뒤에 불필요한 중복 코드를 제거합니다. 중간에 관용구에 대한 설명 부분이 있습니다. 항목(병음, 설명, 소스 및 예문 포함) 마지막으로 홍은을 트랜스코딩해야 합니다. 반환된 결과는 일반적으로 GB2312 인코딩으로 변환해야 합니다. 위에 대한 주석 텍스트를 작성했습니다. iconv 함수가 인코딩을 변환할 때 가끔 발생하는 버그입니다. //IGNORE 매개변수를 추가해야 합니다. 마지막으로, 결과에 "source"라는 단어가 있는지 확인합니다. 그렇다면 전체 함수가 성공적으로 실행되고 얻은 콘텐츠가 페이지로 반환될 수 있다는 의미입니다.
프로그램 본체가 완성되었습니다. 해당 위치에서 쿼리 함수인 chacy를 호출하면 됩니다.

위 내용은 온라인 숙어사전 홍은 온라인 숙어사전 도둑 프로그램 PHP 버전을 소개하며, 온라인 숙어사전 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.