国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

洪恩在線成語詞典小偷程序php版

2024-05-04 23:15:04
字體:
來源:轉載
供稿:網友
主要函數是file_get_contents,主程序分兩段,跟我一起看過來吧(凡人博客原創代碼,轉載請注明)。

復制代碼 代碼如下:


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);
}


上面的函數主要是用php實現JavaScript的escape編碼過程,因為洪恩的查詢接口需要傳遞過去的值是經過escape編碼后的成語條目。

復制代碼 代碼如下:


function chacy($chengyu){
$chengyu=escape($chengyu);
$text=@file_get_contents('http://study.hongen.com/dict/ndsearchchengyu.aspx?type=exact&word='.$chengyu);
$pos1=strpos($text,'<table>');
$pos2=strrpos($text,'<table>');
$text=substr($text,$pos1,$pos2-$pos1);
//把字符集由原來的UTF-8轉換到GB2312,注意在GB2312之后加上了//IGNORE,強制遇到特殊字符也繼續轉換,因為在遇到漢字“一”的時候iconv函數會終止轉換
$text=iconv('UTF-8','GB2312//IGNORE',$text);
if (strpos($text,'出處')){
return $text;
}
}


上面是自己定義的成語查詢函數,首先escape編碼要查詢的成語條目,然后使用file_get_contents函數獲取“?type=exact&word=”頁面查詢的內容,使用substr去除前后一些不需要的多余代碼,中間就是成語條目的解釋部分(包括拼音、解釋、出處、例句),最后記得要轉碼,洪恩返回的結果是UTF-8編碼,一般情況下我們需要轉換為GB2312編碼,上面我寫了一個有關iconv函數轉換編碼有時會出現bug的注釋文本,需要加上一個//IGNORE參數。最后判斷結果中是否存在“出處”二字,有的話說明整個函數運行成功,可以把獲取到的內容return給頁面了。

程序主體實現完成,只需在相應位置調用查詢函數:chacy 就可以了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 齐河县| 翼城县| 独山县| 察雅县| 新昌县| 黑水县| 隆安县| 罗田县| 克东县| 宁明县| 望都县| 玉环县| 上高县| 东明县| 武邑县| 辽宁省| 黑山县| 合作市| 玉门市| 宣化县| 马关县| 四会市| 琼海市| 长春市| 沙坪坝区| 巴东县| 虹口区| 托里县| 连州市| 台东县| 光山县| 绵阳市| 丁青县| 昂仁县| 昆山市| 宜宾县| 栾川县| 法库县| 民勤县| 香格里拉县| 广丰县|