ホームページ  >  記事  >  バックエンド開発  >  正規表現を使用してテキストと画像を区別する方法

正規表現を使用してテキストと画像を区別する方法

WBOY
WBOYオリジナル
2016-06-13 13:49:251213ブラウズ

正規表現を使用してテキストと画像を区別します
データベースから次の HTML コードを取得します

HTML コード
<!--

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" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/5f7298516446aee4.jpg" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/ae43d4916580016f.jpg" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/2d2c62d7340b1c5d.jpg" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/8d419088f69405dd.jpg" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/0a85c721b25f88ee.jpg" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/61ba8bb55943f94d.jpg" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/9dd0274b9e35cf6a.jpg" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/ae5127da3395ccbd.jpg" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/0001969b49e5d288.jpg" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/8932423815d02415.jpg" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/7da7965ed5435fda.jpg" /></p>
<p> <img src="http://static.aishang.cn/itemicon/20111012/99fde461bc846891.jpg" /></p>



これらのコードを取り出して、それらを保存し、配列に入ります。p ラベルは単位要素です。 。次の効果を実現したい:
PHP コード
<!--

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 コード

$str = <<<HTML
<p><em> 2012 年春夏のウェディング ファッション ウィークがニューヨークで閉幕し、VOGUE ファッション ネットワークが最も包括的で権威あるレポートを提供しました。幼い頃からの夢だった春の結婚式のために、自分だけのウェディングドレスを選んでください! </em></p>
<p>アルヴィナ ヴァレンタのウェディング ドレス カンファレンスは、まさに時代を超越した、完璧な内容です。 2012年春夏のウェディングドレスも非の打ち所がありませんが、展示数は多くありませんが、2012年のウェディングドレスのトレンド要素がほぼ網羅されています。昨シーズンの幾何学模様のプリーツも注目を集めています。 </p>
<p>高貴、エレガント、モダン、レトロ、ゴージャス、控えめ、さらには説明できないほど甘くて新鮮...これらの特徴はすべて、Alvina Valenta 2012 春夏ウェディング ドレス シリーズに反映されています。この包括的な完璧主義は、意図的であるか非意図的であるかにかかわらず、何があっても完璧です。 </p>
<p><img src="http://static.aishang.cn/itemicon/20111012/8a52fa290ae06da4.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/5f7298516446aee4.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/ae43d4916580016f.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/2d2c62d7340b1c5d.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/8d419088f69405dd.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/0a85c721b25f88ee.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/61ba8bb55943f94d.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/9dd0274b9e35cf6a.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/ae5127da3395ccbd.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/0001969b49e5d288.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/8932423815d02415.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/7da7965ed5435fda.jpg" /></p>
<p><img src="http://static.aishang.cn/itemicon/20111012/99fde461bc846891.jpg" /></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 '
'; /* 配列 ( [0] => 2012 年春夏ウェディング ファッション ウィークがニューヨークで閉幕し、VOGUE ファッション ネットワークが最も包括的で権威あるレポートを提供しました。幼い頃からの夢だった春の結婚式のために、自分だけのウェディングドレスを選んでください! [1] => アルヴィナ・ヴァレンタのウェディングドレスに関するカンファレンスは、まさに時代を超越した、完璧な内容です。 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 までご連絡ください。