建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网站开发 > PHP教程 >

PHP 正则函数获取新闻内容中第一张图片方法大全

时间:2012-05-02 14:57来源: 作者: 点击:
利用php的正则函数preg_match_all来获取新闻内容中的第一张图片方法。总共有三个方法,我们钭一一介绍。 追加方法一: $img=$row["news_content"];//新闻内容 preg_match_all('/<img.*?>/im' , $img,$match );//将新闻中所有图片存入数组 $img=$match[0][0]

利用php的正则函数preg_match_all来获取新闻内容中的第一张图片方法。总共有三个方法,我们钭一一介绍。
追加方法一:
$img=$row["news_content"];//新闻内容
preg_match_all('/<img.*?>/im' , $img,$match );//将新闻中所有图片存入数组
$img=$match[0][0] ;//第一张图片

追加方法二 适合phpcms直接使用的:

PHP Code复制内容到剪贴板$ext = 'gif|jpg|jpeg|bmp|png';   
preg_match_all("/(href|src)=([\"|']?)([^ \"'>]+\.($ext))\\2/i", $r['content'], $matches);  
$no1pic = $matches[3][0]?$matches[3][0]:$matches[3][1]; 

 

下面有三种方法,建议使用方法三

HTML代码:
<p>
test<img alt="" src="/ckfinder/userfiles/images/1(1).jpg" style="width: 218px; height: 357px;" /> 疯了吗? <img alt="" src="/ckfinder/userfiles/images/3.jpg" style="width: 218px; height: 357px;" /></p>
 

PHP代码:
//数据是通过ckeditor提交的,所以在读取时要使用 stripcslashes() 函数处理一下。
$_content = stripcslashes($_POST['content']);

//方法一
preg_match_all('/<img.*?>/im', $_content, $match);//将新闻中所有图片存入数组
if(count($match[0])){
$content->thumb = $match[0][0] ;//第一张图片
}else{
$content->thumb = '';
}
var_dump($match);
 
echo '<br/>';
//方法二
preg_match ("<img.*src=[\"](.*?)[\"].*?>", $_content, $_match);

var_dump($_match);
//echo "$match[1]";
 
 
//方法三
echo '<br/>';
preg_match_all("/src=\"\/?(.*?)\"/", $_content, $match);
var_dump($match);
//echo($match[1][0]);

die;
结果:
 
方法一的结果:
array(1) { 
   [0]=> array(2) { 
      [0]=> string(93) "<img alt="" src="/ckfinder/userfiles/images/1(1).jpg" style="width: 218px; height: 357px;" />" 
      [1]=> string(90) "<img alt="" src="/ckfinder/userfiles/images/3.jpg" style="width: 218px; height: 357px;" />" } 

 
方法二的结果:
array(2) { 
     [0]=> string(156) "img alt="" src="/ckfinder/userfiles/images/1(1).jpg" style="width: 218px; height: 357px;" /> 疯了吗? <img alt="" src="/ckfinder/userfiles/images/3.jpg"" 
      [1]=> string(32) "/ckfinder/userfiles/images/3.jpg" 

 
//方法三的结果:
array(2) { 
 [0]=> array(2) { 
    [0]=> string(41) "src="/ckfinder/userfiles/images/1(1).jpg"" 
    [1]=> string(38) "src="/ckfinder/userfiles/images/3.jpg"" } 
 [1]=> array(2) { 
    [0]=> string(34) "ckfinder/userfiles/images/1(1).jpg" 
    [1]=> string(31) "ckfinder/userfiles/images/3.jpg" } 
}
 

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片