ホームページ  >  記事  >  バックエンド開発  >  小さな定期的な問題

小さな定期的な問題

WBOY
WBOYオリジナル
2016-06-23 14:17:551153ブラウズ

この投稿は、snipersheep によって最終編集されました: 2013-08-01 15:52:47

$str = '64e59e9be29c3251d7c57420d9b7be18コンテンツ A16b28748ea4df4d9c2150843fecfba68c46051344a60bee849065d48ab366ce7ContentB16b28748ea4df4d9c2150843fecfba68'
コンテンツAとコンテンツBを別々に抽出するための正規表現の書き方を教えてください。
注: コンテンツ A とコンテンツ B の間には改行が入ります。

ディスカッションへの返信(解決策)

コンテンツ A とコンテンツ B、または id="test_0" のテキストと id="test_1" のコンテンツのうち、何を取得したいですか?

コンテンツ A とコンテンツ B
は ID とは関係ありません。 JSではありません。データを取得するのはPHPです。

すごいです

$str = '64e59e9be29c3251d7c57420d9b7be18ContentA16b28748ea4df4d9c2150843fecfba68da3bb6a2c13b81b3d02116ef7cef7591ContentBbf515bee6270ec45e9a80273b65d9926(.*?)16b28748ea4df4d9c2150843fecfba68/i',$str,$match);
echo $match[2][0];コンテンツ A
echo $match[2][1];//コンテンツ B

サイレント収集

preg_match_all('/

var_dump($match);

preg_match_all('/

var_dump($match); 何かが間違っているようです。あまり正確ではありません。

$subject = '<div class="superStar" id="test_0"> 				you dead!				<div class="show">hello</div>				<span>james</span>			</div>            <div class="superStar" id="test_1">				shit!				<div class="contne">hi</div>				<ul><li>list</li></ul>            </div>';$pattern = '/这里正则如何写/';preg_match($pattern, $subject, $matches);print_r($matches);$pattern_1 = '/这里正则如何写/';preg_match($pattern_1, $subject, $matches);print_r($matches);分别取到结果如下:数据一:you dead!<div class="show">hello</div><span>james</span>数据二:shit!<div class="contne">hi</div><ul><li>list</li></ul>

Missing〈/div〉

array(3) {  [0]=>  array(2) {    [0]=>    string(86) "<div class="superStar" id="test_0"> 				you dead!				<div class="show">hello</div>"    [1]=>    string(80) "<div class="superStar" id="test_1">				shit!				<div class="contne">hi</div>"  }  [1]=>  array(2) {    [0]=>    string(12) " id="test_0""    [1]=>    string(12) " id="test_1""  }  [2]=>  array(2) {    [0]=>    string(45) " 				you dead!				<div class="show">hello"    [1]=>    string(39) "				shit!				<div class="contne">hi"  }}

preg_match_all('/<div class=\"superStar\"(.*?)>(\s*(?:<div.*<\/div>\s*)*)<\/div>/us',$subject,$match);echo $match[0][0];echo '<hr />';echo $match[0][1];

<?php$subject = '<div class="superStar" id="test_0">                 you dead!                <div class="show">hello</div>                <span>james</span>            </div>            <div class="superStar" id="test_1">                shit!                <div class="contne">hi</div>                <ul><li>list</li></ul>            </div>';preg_match_all('/<div[^>]+>(([^<]*|<(?!div)|(?R))+)<\/div>/us',$subject,$match);echo $match[0][0];echo '<hr />';echo $match[0][1];
偉大な神を崇拝しましょう!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。