首页 >后端开发 >php教程 > 用正则表达式把文字和图片区分开来,该怎么处理

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

WBOY
WBOY原创
2016-06-13 13:49:251278浏览

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

HTML code
<!--

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

-->
<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>



想取出这些代码之后保存到一个数组里面去,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 = <em>2012春夏婚纱时装周在纽约落下帷幕,VOGUE时尚网献上最全面的权威报道。为你儿时梦幻中春天里的婚礼挑选只属于自己的嫁衣吧!</em>
<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>((?:(?:[^|</p><p>.+"(.+)".+/isU';
preg_match_all($pat,$str,$matches);
echo '</p><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 ) */
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn