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

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

WBOY
WBOY原創
2016-06-13 09:58:561157瀏覽

用正则表达式把文字和图片区分开来
从数据库里面取出下列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