• 织梦文章内容提取第一张或者多张图片输出


    织梦文章内容提取第一张图片

    打开 /include/extend.func.php 在最下面加入个方法

    /**
     *  文章内容提取第一张图片
     *
     * @access    public
     * @param     string  $id		文档id
     * @param     string  $addField	字段名
     * @return    string
     */
    if(!function_exists('getBodyonepic'))
    {
    	function getBodyonepic($id, $addField='body')
    	{
    		global $dsql;
    		$row = $dsql->GetOne("SELECT a.litpic,c.addtable FROM #@_archives AS a LEFT JOIN #@_channeltype AS c ON a.channel=c.id where a.id='$id'");
    		$addtable = trim($row['addtable']);
    		if($row['litpic'] == '-' || $row['litpic'] == '')
    		{
    			$litpic = $GLOBALS['cfg_cmspath'].'/images/defaultpic.gif';
    		}
    		$row = $dsql->GetOne("SELECT $addField FROM `$addtable` WHERE aid=$id");
    		$body = $row["$addField"];
    		preg_match_all("/<img([^>]*)s*src=('|")([^'"]+)('|")/",$body,$matches);
    		$imgsrc_arr = array_unique($matches[3]);
    		$result = $imgsrc_arr[0] ? $imgsrc_arr[0] : $litpic;
    		return $result;
    	}
    }

    首页/列表页标签调用

    [field:id function=getBodyonepic(@me)/]

    内容页标签调用

    {dede:field.id function=getBodyonepic(@me)/}

    织梦文章内容提取图片(多张)自定义输出

    打开 /include/extend.func.php 在最下面加入个方法

    /**
     *  文章内容提取图片(多张)自定义输出
     *
     * @access    public
     * @param     string  $string  	文档内容
     * @param     string  $num  	输出几张
     * @return    string
     */
    if(!function_exists('getBodypics'))
    {
    	function getBodypics($string, $num)
    	{
    		preg_match_all("/<img([^>]*)s*src=('|")([^'"]+)('|")/",$string,$matches);
    		$imgsrc_arr = array_unique($matches[3]);
    		$count = count($imgsrc_arr);
    		$i = 0;
    		foreach($imgsrc_arr as $imgsrc)
    		{
    			if($i == $num) break;
    			$result .= "<img src="$imgsrc"/>";
    			$i++;
    		}
    		return $result;
    	}
    }

    首页/列表页标签调用

    {dede:arclist typeid='' row='' channelid='填模型id' addfields='body'}
    [field:body function=getBodypics(@me,5)/]
    {/dede:arclist}

    内容页标签调用

    {dede:field.body function=getBodypics(@me,5)/}
  • 相关阅读:
    发送邮件封装的方法
    异步编程
    Xaml中string(字符串)常量的定义以及空格的处理
    python中lxml的应用
    Python打包成exe
    利用TaskScheduler处理Queue、Stack等类型的操作队列(生产者消费者场景)
    TreeView的性能问题
    WPF中ItemsControl绑定到Google ProtocolBuffer的结构体时的性能问题
    WPF中ToolTip的自定义
    WPF中ItemsControl绑定到Google ProtocolBuffer的结构体时的性能问题
  • 原文地址:https://www.cnblogs.com/dedehtml/p/9913991.html
Copyright © 2020-2023  润新知