当前位置: 首页>>代码示例>>PHP>>正文


PHP collection::url方法代码示例

本文整理汇总了PHP中collection::url方法的典型用法代码示例。如果您正苦于以下问题:PHP collection::url方法的具体用法?PHP collection::url怎么用?PHP collection::url使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在collection的用法示例。


在下文中一共展示了collection::url方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: get_content

 /**
  * 采集内容
  * @param string $url    采集地址
  * @param array $config  配置参数
  * @param integer $page  分页采集模式
  */
 public static function get_content($url, $config, $page = 0)
 {
     set_time_limit(300);
     static $oldurl = array();
     $page = intval($page) ? intval($page) : 0;
     if ($html = self::get_html($url, $config)) {
         if (empty($page)) {
             //获取标题
             if ($config['title_rule']) {
                 $title_rule = self::replace_sg($config['title_rule']);
                 $data['title'] = self::replace_item(self::cut_html($html, $title_rule[0], $title_rule[1]), $config['title_html_rule']);
             }
             //获取作者
             if ($config['author_rule']) {
                 $author_rule = self::replace_sg($config['author_rule']);
                 $data['author'] = self::replace_item(self::cut_html($html, $author_rule[0], $author_rule[1]), $config['author_html_rule']);
             }
             //获取来源
             if ($config['comeform_rule']) {
                 $comeform_rule = self::replace_sg($config['comeform_rule']);
                 $data['comeform'] = self::replace_item(self::cut_html($html, $comeform_rule[0], $comeform_rule[1]), $config['comeform_html_rule']);
             }
             //获取时间
             if ($config['time_rule']) {
                 $time_rule = self::replace_sg($config['time_rule']);
                 $data['time'] = strtotime(self::replace_item(self::cut_html($html, $time_rule[0], $time_rule[1]), $config['time_html_rule']));
             }
             if (empty($data['time'])) {
                 $data['time'] = SYS_TIME;
             }
             //对自定义数据进行采集
             if ($config['customize_config'] = string2array($config['customize_config'])) {
                 foreach ($config['customize_config'] as $k => $v) {
                     if (empty($v['rule'])) {
                         continue;
                     }
                     $rule = self::replace_sg($v['rule']);
                     $data[$v['en_name']] = self::replace_item(self::cut_html($html, $rule[0], $rule[1]), $v['html_rule']);
                 }
             }
         }
         //获取内容
         if ($config['content_rule']) {
             $content_rule = self::replace_sg($config['content_rule']);
             $data['content'] = self::replace_item(self::cut_html($html, $content_rule[0], $content_rule[1]), $config['content_html_rule']);
         }
         //处理分页
         if (in_array($page, array(0, 2)) && !empty($config['content_page_start']) && !empty($config['content_page_end'])) {
             $oldurl[] = $url;
             $tmp[] = $data['content'];
             $page_html = self::cut_html($html, $config['content_page_start'], $config['content_page_end']);
             //上下页模式
             if ($config['content_page_rule'] == 2 && in_array($page, array(0, 2)) && $page_html) {
                 preg_match_all('/<a[^>]*href=[\'"]?([^>\'" ]*)[\'"]?[^>]*>([^<\\/]*)<\\/a>/i', $page_html, $out);
                 if (!empty($out[1]) && !empty($out[2])) {
                     foreach ($out[2] as $k => $v) {
                         if (strpos($v, $config['content_nextpage']) === false) {
                             continue;
                         }
                         if ($out[1][$k] == '#') {
                             continue;
                         }
                         $out[1][$k] = self::url_check($out[1][$k], $url, $config);
                         if (in_array($out[1][$k], $oldurl)) {
                             continue;
                         }
                         $oldurl[] = $out[1][$k];
                         $results = self::get_content($out[1][$k], $config, 2);
                         if (!in_array($results['content'], $tmp)) {
                             $tmp[] = $results['content'];
                         }
                     }
                 }
             }
             //全部罗列模式
             if ($config['content_page_rule'] == 1 && $page == 0 && $page_html) {
                 preg_match_all('/<a[^>]*href=[\'"]?([^>\'" ]*)[\'"]?/i', $page_html, $out);
                 if (is_array($out[1]) && !empty($out[1])) {
                     $out = array_unique($out[1]);
                     foreach ($out as $k => $v) {
                         if ($out[1][$k] == '#') {
                             continue;
                         }
                         $v = self::url_check($v, $url, $config);
                         $results = self::get_content($v, $config, 1);
                         if (!in_array($results['content'], $tmp)) {
                             $tmp[] = $results['content'];
                         }
                     }
                 }
             }
             $data['content'] = $config['content_page'] == 1 ? implode('[page]', $tmp) : implode('', $tmp);
         }
         if ($page == 0) {
//.........这里部分代码省略.........
开发者ID:gaoerjun,项目名称:Web,代码行数:101,代码来源:collection.class.php


注:本文中的collection::url方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。