热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php书那张图,php获取文章内容的第一张图片实例

要利用php获取文章中所有图片中第一张图片出来我们只需要简单的正则表达式即可实现了,下面小编来给大家分享两个实例吧。首先看一个函数:代码如下复制代码fu

要利用php获取文章中所有图片中第一张图片出来我们只需要简单的正则表达式即可实现了,下面小编来给大家分享两个实例吧。

首先看一个函数:

 代码如下

function getpic($str_img){

    preg_match_all("//isU",$str,$ereg);//正则表达式把图片的整个都获取出来了

$img=$ereg[0][0];//图片

$p="#src=('|")(.*)('|")#isU";//正则表达式

preg_match_all ($p, $img, $img1);

$img_path =$img1[2][0];//获取第一张图片路径

return $img_path;

}

//假如数据库已打开,用$nr获取数据库中的新闻内容

$nr=$row_news["nr"];

$aa=getpic($nr_a);

if(!$aa){$aa="images/nopic.jpg";} //如果新闻中不存在图片,用默认的nopic.jpg替换

再看一个函数相对比较复杂了

在做项目的时候,页面的设计有时会留有文章特色图像的位置,可是有时,这篇文章反而没有上传图片,则在页面中显示的时候则是没有图片,样式上很难看,如果单纯是没有上传图片选用默认图片的时候,有时会引起一些误解;则在考虑是不是先对这个文章图片的问题细化处理:先判断是否有上传的图片,如果有则显示上传的图片,没有则判断内容中是否有图片,有则选取第一张图片作为此处的特色图片,如果连内容中也没有图片的话,则在此处显示默认图片;

以下是关于选取文章中第一张图片的代码:

 代码如下

$obj=M("News");

$info=$obj->where('id=1')->find();

//方法1*********

$soContent = $info['content'];

            $soImages = '~]* />~';

preg_match_all( $soImages, $soContent, $thePics );

$allPics = count($thePics[0]);

            preg_match('//i',$thePics[0][0],$match);

dump($thePics);

if( $allPics> 0 ){

                echo "%22.%24match%5B1%5D.%22";//获取的图片名称

}

else {

echo "没有图片";

}

//**************

$soContent = $info['content'];

            $soImages = '~]* />~';

preg_match_all( $soImages, $soContent, $thePics );

$allPics = count($thePics[0]);

dump($thePics);

if( $allPics> 0 ){

echo $thePics[0][0]; //获取的整个Img属性

} else {

echo "没有图片";

}

//**************

$soImages = '~]* />~';

$str=$info['content'];

preg_match_all($soImages,$str,$ereg);//正则表达式把图片的整个都获取出来了

$img=$ereg[0][0];//图片

$p="#src=('|")(.*)('|")#isU";//正则表达式

preg_match_all ($p, $img, $img1);

$img_path =$img1[2][0];//获取第一张图片路径

if(!$img_path){

$img_path="images/nopic.jpg";

} //如果新闻中不存在图片,用默认的nopic.jpg替换 */

echo $img_path;

//*************88

$str=$info['content'];

            preg_match_all("//isU",$str,$ereg);//正则表达式把图片的整个都获取出来了

$img=$ereg[0][0];//图片

$p="#src=('|")(.*)('|")#isU";//正则表达式

preg_match_all ($p, $img, $img1);

$img_path =$img1[2][0];//获取第一张图片路径

if(!$img_path){

$img_path="images/nopic.jpg";

} //如果新闻中不存在图片,用默认的nopic.jpg替换 */

echo $img_path;




推荐阅读
  • HTML:  将文件拖拽到此区域 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 高效的JavaScript异步资源加载解决方案
    本文探讨了如何通过异步加载技术处理网页中大型第三方插件的加载问题,避免将大文件打包进主JS文件中导致的加载时间过长,介绍了实现异步加载的具体方法及其优化。 ... [详细]
  • URL参数格式http:localhos:8080demo?ab&cd&ef匹配参数a对应的表达式为^a([^&]*)&匹配参数b对应的表达式为&b([^&]*)&匹配参数c对应 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 机器学习(ML)三之多层感知机
    深度学习主要关注多层模型,现在以多层感知机(multilayerperceptron,MLP)为例,介绍多层神经网络的概念。隐藏层多层感知机在单层神经网络的基础上引入了一到多个隐藏 ... [详细]
  • 本文为初学者提供了一条清晰的学习路线,帮助他们逐步成长为优秀的Web开发人员。通过十个关键步骤,涵盖从基础到高级的各个方面,确保每位学习者都能找到适合自己的学习方向。 ... [详细]
  • 本文介绍了Go语言中正则表达式的基本使用方法,并提供了一些实用的示例代码。 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
author-avatar
香港冫耐思得
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有