修改destoon的单页采编函数
发布:smiling 来源: PHP粉丝网 添加日期:2014-06-05 17:00:16 浏览: 评论:0
destoon的fetch_url函数作用是抓取网站页面,然后按照一定的规则获取网页中的内容,把内容分别自动填写到标题内容中去,这样就免去了编辑复制、粘贴的痛苦.
但是destoon自带的fetch_url函数有一个弱点,无法处理某些比较“贱”的网站,有些网站把内容显示一半,然后做个链接,你必须点那个链接,才能看到所有内容,针对这种情况,我重新写了一个函数,满足自动获取内容的功能.
- function fetch_url1($url,$nonedisplay="") {
- global $db;
- $fetch = array();
- $tmp = parse_url($url);//解析 URL,返回其组成部分
- $domain = $tmp['host'];//提取主机域名
- $r = $db->get_one("SELECT * FROM {$db->pre}fetch WHERE domain='$domain' ORDER BY edittime DESC");
- if($r) {
- $content = file_get($url);
- if($content) {
- $content = convert($content, $r['encode'], DT_CHARSET);
- preg_match("/
- //网页标题当做新闻标题
- if(isset($m[1])) $fetch['title'] = trim($r['title'] ? str_replace($r['title'], '', $m[1]) : $m[1]);
- preg_match("/
- //网页description里面的内容当做新闻简介
- if(isset($m[1])) $fetch['introduce'] = $m[1];
- list($f, $t) = explode('[content]', $r['content']);
- if($f && $t) {
- $s = strpos($content, $f);
- //开始标签在内容的位置
- if($s !== false) {
- $e = strpos($content, $t, $s);//结束标签在内容的位置
- if($e !== false && $e > $s) {
- $fetch['content'] = substr($content, $s + strlen($f), $e - $s - strlen($f));
- //取出html元素中的内容当做新闻内容
- }
- }
- }
- if($nonedisplay){
- list($f,$t) = explode('[content]', $nonedisplay);
- if($f && $t){
- $s = strpos($content, $f);
- //开始标签在内容的位置
- if($s !== false) {
- $e = strpos($content, $t, $s);//结束标签在内容的位置
- if($e !== false && $e > $s) {
- $fetch['content'] = $fetch['content'].substr($content, $s + strlen($f), $e - $s - strlen($f));
- //取出html元素中的内容当做新闻内容
- //过滤链接
- $fetch['content'] = str_replace(' 查看全部 »', '', $fetch['content']);
- //过滤链接
- $fetch['content'] = str_replace(' « 收起', '', $fetch['content']);
- }
- }
- }
- }
- }
- }
- return $fetch;
- }
Tags: destoon 单页采编 函数
相关文章
- ·Destoon简单使用教程一(2013-11-15)
- ·Destoon简单使用教程二(2013-11-15)
- ·Destoon简单使用教程三(2013-11-15)
- ·Destoon简单使用教程四(2013-11-15)
- ·Destoon简单使用教程五(2013-11-15)
- ·Destoon简单使用教程六(2013-11-15)
- ·Destoon简单使用教程七(2013-11-15)
- ·Destoon简单使用教程八(2013-11-15)
- ·Destoon简单使用教程九(2013-11-15)
- ·Destoon简单使用教程十(2013-11-15)
- ·DESTOON 新增模块的方法!(2014-01-10)
- ·destoon 公告栏的调用标签和模板文件(2014-01-10)
- ·destoon需要设置可写权限的目录和文件(2014-01-10)
- ·destoon程序转移服务器后,搜索汉字出现乱码(2014-01-10)
- ·destoon 读取当前栏目名称(2014-06-05)
- ·destoon搬家教程(2014-06-05)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)