as3291363 发表于 2011-5-12 00:41:26

分享一个stblog的查询参数传递的小优化

stblog代码application/controllers/admin/posts.php 796行

/** category filter */
      $category_filter = $this->input->get('category', TRUE);
      $category_filter = (!empty($category_filter)) ? intval($category_filter) : 0;

      if(!empty($category_filter))
      {
            $query[] = 'category='.$category_filter;
      }

      /** title filter (posts search) **/
      $title_filter = strip_tags($this->input->get('keywords',TRUE));
      if(!empty($title_filter))
      {
            $this->_data['page_title'] = '搜索文章:'. $title_filter;
            $query[] = 'keywords='.$title_filter;
      }
      ..............
   $this->dpagination->target(site_url('admin/posts/manage?'.implode('&',$query)));

可以替换成

//获取查询的参数
$url_query=$_SERVER['QUERY_STRING'];
      if(!empty($url_query)){
         //正则替换&p=数字
            $url_query=preg_replace('/&p=(\d+)/','',$url_query);
      }

就可以直接获取查询的参数
不用再用数组保存
然后将跳转的target替换成.
$this->dpagination->target(site_url('admin/posts/manage?'.$url_query));

省去了一小步....
本人小白,别喷...谢谢!!!
其实很多查询地方都可以使用这个正则替换,方便一些吧.

as3291363 发表于 2011-5-12 00:42:48

我没有给出详细的替换代码...
大家可以看看代码然后自己动手替换一下...
页: [1]
查看完整版本: 分享一个stblog的查询参数传递的小优化