色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

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

主要函數(shù)是file_get_contents,主程序分兩段,跟我一起看過來吧(凡人博客原創(chuàng)代碼,轉(zhuǎn)載請(qǐng)注明)。
復(fù)制代碼 代碼如下:
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);
}

上面的函數(shù)主要是用php實(shí)現(xiàn)JavaScript的escape編碼過程,因?yàn)楹槎鞯牟樵兘涌谛枰獋鬟f過去的值是經(jīng)過escape編碼后的成語條目。
復(fù)制代碼 代碼如下:
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 class="root">');
$pos2=strrpos($text,'<table class="english">');
$text=substr($text,$pos1,$pos2-$pos1);
//把字符集由原來的UTF-8轉(zhuǎn)換到GB2312,注意在GB2312之后加上了//IGNORE,強(qiáng)制遇到特殊字符也繼續(xù)轉(zhuǎn)換,因?yàn)樵谟龅綕h字“一”的時(shí)候iconv函數(shù)會(huì)終止轉(zhuǎn)換
$text=iconv('UTF-8','GB2312//IGNORE',$text);
if (strpos($text,'出處')){
return $text;
}
}

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

程序主體實(shí)現(xiàn)完成,只需在相應(yīng)位置調(diào)用查詢函數(shù):chacy 就可以了。

php技術(shù)洪恩在線成語詞典小偷程序php版,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 福泉市| 古蔺县| 萍乡市| 贵阳市| 阳曲县| 五峰| 肥西县| 和顺县| 昂仁县| 都兰县| 杨浦区| 股票| 仁化县| 梅州市| 东山县| 廊坊市| 涿州市| 内黄县| 门源| 乐山市| 石景山区| 南靖县| 陆丰市| 广元市| 富民县| 阿拉尔市| 兖州市| 灵川县| 高要市| 会理县| 钟祥市| 当涂县| 奉新县| 高阳县| 平昌县| 石景山区| 凭祥市| 安吉县| 万盛区| 鞍山市| 息烽县|