ホームページ >バックエンド開発 >PHPチュートリアル >小さな定期的な問題
$str = '64e59e9be29c3251d7c57420d9b7be18コンテンツ A16b28748ea4df4d9c2150843fecfba68c46051344a60bee849065d48ab366ce7ContentB16b28748ea4df4d9c2150843fecfba68'
コンテンツ 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];偉大な神を崇拝しましょう!