输出摘要中的IMG - typecho折腾小记二


继续折腾,不过,这次折腾的是一个影剧站,并非本博。 目的是想输出摘要中的IMG,使得可以按图片列表的形式排列影剧,以获得一眼浏览尽显的视觉快感。为此,在 Contents.php 文件中加了如下两个方法:

<?php
/**
 * 输出摘要中的 IMG
 *
 * @access protected
 * @return string
 */
protected function ___imgEx()
{
	$contents = explode('<!--more-->', $this->text);
	list($excerpt) = $contents;
	$excerpt = strip_tags($excerpt,'<img>');
	preg_match("|<[^>]+>(.*)|u",$excerpt,$excerpt);
	return $excerpt[0];
}
?>
<?php
 /**
 * 输出 简短标题
 *
 * @access protected
 * @return string
 */
protected function ___titleEx()
{
	$title = $this->pluginHandle()->trigger($plugged)->title($this->title, $this);
	preg_match("/\[[^\]]+\]/u", $title, $title);
	$str = array('[',']');
	$title = str_replace($str, '', $title[0]);
	return $title;
}
?>

你可以很容易地看出,第一个方法可能你也用得着,功能是获取摘要中完整的 “img” 标签;第二个方法可能你就用不着了,功能只是为了截取第一个“[]”并过虑掉“[”、“]”,没什么特别的意思。 完了以后,加了一些影片信息的效果,但是显示方式却有些为难了,如下两种显示方式不知道用哪种好?

698la_index_1.jpg

698la_index_2.jpg

问了好些人,最后以第二张图中显示方式做首页,这样我也不会白折腾,呵呵 - -

已有 10 位潜水的同学浮出水面了 »

  1. 好东西 收藏了

    2012-01-20 01:39 回复
  2. 请问你这个如何使用呢。我粘贴在那个文件里,如何调用这个对象呢?

    2011-05-15 19:33 回复
    1. 在你想调用的地方:
      $this->imgEx();
      $this->titleEx();
      即可,注意,这个只适用于展现文章列表中。

      2011-05-15 19:52
  3. cho cho

    这个代码高亮的效果很不错啊!

    2011-02-06 02:02 回复
  4. 你的摘要是手动的more?
    或是自动提取第一段?

    2010-09-04 10:15 回复
    1. 是手动的

      2010-09-04 10:17
  5. 个人也认为第二种好点!

    2010-08-30 09:59 回复
  6. Suom Suom

    其实可以两个结合起来?
    一两部重点热播推荐的用第一种方式放上面
    然后下面再用第二种分列出来?

    2010-08-26 12:45 回复
    1. 这个想法也不错

      2010-08-26 23:28
  7. 第二种方法确实对于电影展示比较好

    2010-08-24 08:10 回复

添加新评论 »