(thinkphp5.1开发手册)(thinkphp完全开发手册)

今天一个网友问小编,用ThinkPHP开发的信息管理系统,怎么可以自动获取文章中的第一张图片做为缩略图呢?

其实这个功能也不算很复杂,在某度里也能搜到一堆这样的代码,所以我觉得可能这位网友只是不知道怎么把代码整合到ThinkPHP框架里吧,所以今天我通过这位网友所提的问题做个教程,方便其它初学者学习。

为了让初学者更容易理解,本文写的比较详细,所以如果你已是技术大拿,请直接绕过,以免浪费你的宝贵时间,谢谢。

以ThinkPHP3.2为例,看过ThinkPHP开发手册的同学都知道,ThinkPHP框架有以下目录:

(thinkphp5.1开发手册)(thinkphp完全开发手册)

大家从以上可以看到,框架目录中有个 Common 文件夹,官方称之为 核心公共函数目录,对于初学者来说,可能不太理解这个目录的真正用途,用小编自己的话来说,这就是个公共文件夹,你可以把你的自定义函数方法放到这里,这样就可以在整个框架项目中调用这个自定义函数方法。

既然明白了这个文件夹的用途,我们就一步一步来实现如何通过自定义函数方法来获取文章中的第一张图片。

首先,我们先依次找到并打开ThinkPHP框架下的 Common 文件夹,如下图:

(thinkphp5.1开发手册)(thinkphp完全开发手册)

这个是小编从ThinkPHP官网下载的3.2.3完整版源码,展开 Common 文件夹后,可以看到文件夹里有个 functions.php 文件,这个文件是自带的,打开这个文件后就是这样的,如下图:

(thinkphp5.1开发手册)(thinkphp完全开发手册)

打开 functions.php 文件后可以看到,这里面有ThinkPHP自带的一些函数方法,这些不用管它,也不要去修改它,我们只需要把我们的自定义函数方法写在最后就行了。

下面我们就在这个文件的最后创建个自定义函数,我们将这个函数命名为 getpic ,如下图:

(thinkphp5.1开发手册)(thinkphp完全开发手册)

创建好了自定义函数之后我们就需要在这个自定义函数里来写逻辑处理代码,写逻辑代码之前,我们先要知道怎么才能得到我们想要的内容,那么,既然要获取文章内容中的图片,我们就必须要得到文章内容代码,为什么要说先得到文章内容代码呢,既然是文章内容,就会用到编辑器来排版,排版就会有html标签,那么这里需要注意的是,如果是用ThinkPHP方法插入的数据,为了安全起见,ThinkPHP框架默认会把带有html标签的内容进行转义,那么我们获取文章内容代码之后就要对文章内容代码进行反转义,反转义之后我们再用正则表达式去获取文章内容代码所有的 <img> 图片标签,得到图片标签之后,再根据图片标签中的 src 属性去读取图片的路径,得到这个路径之后再输出结果。

从以上的逻辑处理分析就可以很轻松的写代码了,写成代码后就是这样:

(thinkphp5.1开发手册)(thinkphp完全开发手册)

要在模板中输出,我们可以这样调用:

{$vo.content|getpic}

这样就可以得到文章中的第一张图片地址了。

特别说明:为了让阅读性更好,代码都是截图的,如果想要获得代码,请私信回复 getpic 即可获取函数代码。

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者码农刘小桥所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(thinkphp5.1开发手册)(thinkphp完全开发手册)
本文链接:https://www.51qsb.cn/article/m8kv6.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-01-12
下一篇2023-01-12

你可能还想知道

发表回复

登录后才能评论