- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章洪恩在线成语词典小偷程序php版由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
主要函数是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 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; } } 。
上面是自己定义的成语查询函数,首先escape编码要查询的成语条目,然后使用file_get_contents函数获取“http://study.hongen.com/dict/ndsearchchengyu.aspx?type=exact&word=”页面查询的内容,使用substr去除前后一些不需要的多余代码,中间就是成语条目的解释部分(包括拼音、解释、出处、例句),最后记得要转码,洪恩返回的结果是UTF-8编码,一般情况下我们需要转换为GB2312编码,上面我写了一个有关iconv函数转换编码有时会出现bug的注释文本,需要加上一个//IGNORE参数。最后判断结果中是否存在“出处”二字,有的话说明整个函数运行成功,可以把获取到的内容return给页面了。 程序主体实现完成,只需在相应位置调用查询函数:chacy 就可以了.
最后此篇关于洪恩在线成语词典小偷程序php版的文章就讲到这里了,如果你想了解更多关于洪恩在线成语词典小偷程序php版的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我被指出“安全 bool 成语”,在试图破译发生了什么之后(解释 supplied on the site 不足以让我理解它为什么起作用),我决定尝试将以下代码分开并尝试尽可能地简化它。该网站提供的代
访问标量表达式的最简洁和字节码有效的方法是什么 多次从另一个表情的深处? 以下代码中的所有函数(例如 scalar4 )都可以根据需要运行。但只有 字节编码器 发出高效的字节码(尽管它以 ISTORE
我正在处理一个 Chart 类,它有一个 margin 参数,它包含 :top、:bottom、:right 和 :left 值。我的第一个选择是使 margin 成为 setter 并像这样设置值:
想象一下,您正在使用明显的蛮力算法生成斐波那契数列。如果我知道我想提前生成的斐波那契数,我可以使用幂连接 ^: 做这样的事情: (, [: +/ _2&{.)^:20 i.2 当斐波那契数达到某个极限
有很多地方(例如 How to use requestAnimationFrame? )修复了 window.requestAnimationFrame 如下。我不明白为什么赋值的右侧包含在函数调用中
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我已经使用 idiorm 玩了几天了,并且逐渐设法让它真正开始执行查询。虽然我遇到了一些奇怪的事情,但我无法弄清楚。 find_many() 函数只返回一条记录,它始终是数据库中的最后一条记录。例如,
我读到 Pimpl 有利于二进制兼容性,接口(interface)有利于轻松切换实现。我需要结合这两种技术,让我的应用程序能够通过配置文件切换底层实现。 以下是我当前的设计布局: 类 Foo:提供面向
今天我了解了 C++“memberspace”惯用语,它粗略地滥用了 C++ 的一个属性,该属性使 T::bar 以及 T.bar 工作,当T 在某些范围内既是类型又是对象。 struct A {
这个 jQuery 片段最清楚的常用习惯用法是什么? $('#someTextarea').val( $('#someTextarea').val() + someString ); 将原始代码包装在
我记得很久以前读过有关复杂对象配置情况下的 C++ 构造函数习惯用法。它特别有用,因为它有助于为一些讨厌的概念启用 RAII,这些概念方式太多(通常是相互冲突的)选项。 这是一个简单的例子。假设您要为
boost 库是否提供了安全 bool 习惯用法的实现,以便我可以从中派生我的类? 如果是 - 它在哪里? 如果不是 - 除了我自己实现之外,我还有哪些选择? 我发现了以下类似的问题:“Is ther
我想使用 pimpl idiom 和继承。 这里是基础公共(public)类及其实现类: class A { public: A(){pAImpl = new AImpl;};
通过使用 Copy & Swap我们可以轻松实现具有强大异常安全性的复制分配: T& operator = (T other){ using std::swap; swap(*this
这个问题在这里已经有了答案: Iterating over every two elements in a list [duplicate] (22 个回答) 关闭3年前。 我觉得我花了很多时间用 P
关于 pimpl idiom 有一些关于 SO 的问题,但我更好奇它在实践中的使用频率。 我了解在性能和封装之间需要权衡取舍,另外由于额外的重定向会导致一些调试烦恼。 这样,这是应该在每个类(clas
这个问题在这里已经有了答案: Is the PIMPL idiom really used in practice? (12 个回答) 关闭7年前。 背景: PIMPL Idiom (指向 IPLem
这是网络上最常见的实现方式 private static class LazySomethingHolder { public static Something something = new S
像std::iterator_traits 这样的包罗万象的特征类通过将类型的属性与其定义分开是很有用的,例如,可以在定义完成之前使属性可用。 除了每个客户端类本身之外还定义特征是不方便的,因为特征通
我通常为 pimpl 使用 boost::scoped_ptr(出于一个原因,因为如果我忘记处理复制构造函数,我不会感到惊讶) 然而,对于模板,我不能只将析构函数放在完全定义了 impl 的 cpp
我是一名优秀的程序员,十分优秀!