洪恩在线成语词典小偷程序php版
前端之家收集整理的这篇文章主要介绍了
洪恩在线成语词典小偷程序php版,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
主要函数是file_get_contents,主程序分两段,跟我一起看过来吧(凡人博客原创代码,转载请注明)。
<div class="codetitle"><a style="CURSOR: pointer" data="37923" class="copybut" id="copybut37923" onclick="doCopy('code37923')"> 代码如下:
<div class="codebody" id="code37923">
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编码后的成语条目。
<div class="codetitle">
<a style="CURSOR: pointer" data="29637" class="copybut" id="copybut29637" onclick="doCopy('code29637')"> 代码如下: <div class="codebody" id="code29637">
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转换到GB2312,注意在GB2312之后
加上了//IGNORE,强制遇到特殊字符也继续转换,因为在遇到汉字“一”的时候iconv
函数会终止转换
$text=iconv('UTF-8','GB2312//IGNORE',$text);
if (strpos($text,'出处')){
return $text;
}
}