用正则表达式把文字和图片区分开来,该怎么处理

php中文网
发布: 2016-06-13 13:49:25
原创
1408人浏览过

用正则表达式把文字和图片区分开来
从数据库里面取出下列html代码

HTML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<p><em>2012春夏婚纱时装周在纽约落下帷幕,vogue时尚网献上最全面的权威报道。为你儿时梦幻中春天里的婚礼挑选只属于自己的嫁衣吧!</em></p>
                    <div class="aritcle_card">
                        <a class="aritcle_card_img" href="/ai/865">
                            <img src="https://img.php.cn/upload/ai_manual/001/503/042/68b6d62c31469779.png" alt="酷表ChatExcel">
                        </a>
                        <div class="aritcle_card_info">
                            <a href="/ai/865">酷表ChatExcel</a>
                            <p>北大团队开发的通过聊天来操作Excel表格的AI工具</p>
                            <div class="">
                                <img src="/static/images/card_xiazai.png" alt="酷表ChatExcel">
                                <span>48</span>
                            </div>
                        </div>
                        <a href="/ai/865" class="aritcle_card_btn">
                            <span>查看详情</span>
                            <img src="/static/images/cardxiayige-3.png" alt="酷表ChatExcel">
                        </a>
                    </div>
                
<p>Alvina Valenta的婚纱发布会真是永恒的滴水不漏。2012春夏婚纱发布也同样是件件都无可挑剔,展示的数量虽不多,但2012婚纱的潮流元素几乎都囊括其中。上一季的几何褶裥也要闪现一下。</p>
<p>高贵、幽雅、摩登、复古、华丽、低调、甚至莫名奇妙的甜美清新……这些特点也无一不在Alvina Valenta 2012春夏婚纱系列中显现。这种面面俱到的完美主义究竟是刻意还是无意,无论如何都很完美。</p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/8a52fa290ae06da4.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/5f7298516446aee4.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/ae43d4916580016f.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/2d2c62d7340b1c5d.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/8d419088f69405dd.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/0a85c721b25f88ee.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/61ba8bb55943f94d.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/9dd0274b9e35cf6a.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/ae5127da3395ccbd.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/0001969b49e5d288.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/8932423815d02415.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/7da7965ed5435fda.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p> <img  src="http://static.aishang.cn/itemicon/20111012/99fde461bc846891.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
登录后复制



想取出这些代码之后保存到一个数组里面去,p标签为一个单位的元素。。想达到以下效果:
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$arr[0]=>"<em>2012春夏婚纱时装周在纽约落下帷幕,vogue时尚网献上最全面的权威报道。为你儿时梦幻中春天里的婚礼挑选只属于自己的嫁衣吧!</em>";
$arr[1]=>"Alvina Valenta的婚纱发布会真是永恒的滴水不漏。2012春夏婚纱发布也同样是件件都无可挑剔,展示的数量虽不多,但2012婚纱的潮流元素几乎都囊括其中。上一季的几何褶裥也要闪现一下。";
$arr[2]=>"高贵、幽雅、摩登、复古、华丽、低调、甚至莫名奇妙的甜美清新……这些特点也无一不在Alvina Valenta 2012春夏婚纱系列中显现。这种面面俱到的完美主义究竟是刻意还是无意,无论如何都很完美。"
$arr[3]=>"http://static.aishang.cn/itemicon/20111012/8a52fa290ae06da4.jpg";  //过滤掉img标签,只取图片的url
$arr[4]=>"http://static.aishang.cn/itemicon/20111012/5f7298516446aee4.jpg";
......

登录后复制


------解决方案--------------------
PHP code

$str = <<<HTML
<p><em>2012春夏婚纱时装周在纽约落下帷幕,vogue时尚网献上最全面的权威报道。为你儿时梦幻中春天里的婚礼挑选只属于自己的嫁衣吧!</em></p>
<p>Alvina Valenta的婚纱发布会真是永恒的滴水不漏。2012春夏婚纱发布也同样是件件都无可挑剔,展示的数量虽不多,但2012婚纱的潮流元素几乎都囊括其中。上一季的几何褶裥也要闪现一下。</p>
<p>高贵、幽雅、摩登、复古、华丽、低调、甚至莫名奇妙的甜美清新……这些特点也无一不在Alvina Valenta 2012春夏婚纱系列中显现。这种面面俱到的完美主义究竟是刻意还是无意,无论如何都很完美。</p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/8a52fa290ae06da4.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/5f7298516446aee4.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/ae43d4916580016f.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/2d2c62d7340b1c5d.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/8d419088f69405dd.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/0a85c721b25f88ee.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/61ba8bb55943f94d.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/9dd0274b9e35cf6a.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/ae5127da3395ccbd.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/0001969b49e5d288.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/8932423815d02415.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/7da7965ed5435fda.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
<p><img  src="http://static.aishang.cn/itemicon/20111012/99fde461bc846891.jpg" / alt=" 用正则表达式把文字和图片区分开来,该怎么处理 " ></p>
HTML;
$pat = '/<p>((?:(?:[^<][^i].*))|(?:<[^i].+))<\/p>|<p>.+"(.+)".+<\/p>/isU';
preg_match_all($pat,$str,$matches);
echo '<pre class="brush:php;toolbar:false;">';
print_r(array_filter(array_merge($matches[1],$matches[2])));
echo '
登录后复制
'; /* Array ( [0] => 2012春夏婚纱时装周在纽约落下帷幕,VOGUE时尚网献上最全面的权威报道。为你儿时梦幻中春天里的婚礼挑选只属于自己的嫁衣吧! [1] => Alvina Valenta的婚纱发布会真是永恒的滴水不漏。2012春夏婚纱发布也同样是件件都无可挑剔,展示的数量虽不多,但2012婚纱的潮流元素几乎都囊括其中。上一季的几何褶裥也要闪现一下。 [2] => 高贵、幽雅、摩登、复古、华丽、低调、甚至莫名奇妙的甜美清新……这些特点也无一不在Alvina Valenta 2012春夏婚纱系列中显现。这种面面俱到的完美主义究竟是刻意还是无意,无论如何都很完美。 [19] => http://static.aishang.cn/itemicon/20111012/8a52fa290ae06da4.jpg [20] => http://static.aishang.cn/itemicon/20111012/5f7298516446aee4.jpg [21] => http://static.aishang.cn/itemicon/20111012/ae43d4916580016f.jpg [22] => http://static.aishang.cn/itemicon/20111012/2d2c62d7340b1c5d.jpg [23] => http://static.aishang.cn/itemicon/20111012/8d419088f69405dd.jpg [24] => http://static.aishang.cn/itemicon/20111012/0a85c721b25f88ee.jpg [25] => http://static.aishang.cn/itemicon/20111012/61ba8bb55943f94d.jpg [26] => http://static.aishang.cn/itemicon/20111012/9dd0274b9e35cf6a.jpg [27] => http://static.aishang.cn/itemicon/20111012/ae5127da3395ccbd.jpg [28] => http://static.aishang.cn/itemicon/20111012/0001969b49e5d288.jpg [29] => http://static.aishang.cn/itemicon/20111012/8932423815d02415.jpg [30] => http://static.aishang.cn/itemicon/20111012/7da7965ed5435fda.jpg [31] => http://static.aishang.cn/itemicon/20111012/99fde461bc846891.jpg ) */
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号