ホームページ  >  記事  >  バックエンド開発  >  HTMLのネストされた終了タグを取得する方法

HTMLのネストされた終了タグを取得する方法

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


次のような HTML があるとします。

57d8bdcacd3ecad84c5911fa295dbe64
dc6dce4a544fdca2df29d5ac0ea9906b テスト テキスト 254bdf357c58b8a65c66d7c19c8e4d114
16b28748ea4df4d9c2150843fecfba68
テストテキスト 3
df250b2156c434f3390392d09b1c9563


テストテキスト 4
16b28748ea4df4d9c2150843fecfba68
たとえば、680df3e6d38193e283e8472a224d5b65 対応する終了タグ 16b28748ea4df4d9c2150843fecfba68 の途中にあるすべてのコンテンツでこれを行うにはどうすればよいですか?
ありがとう! ! ! !


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

<script type="text/javascript">jQuery(function(){var res = $(".test").html();return res;});</script>

jQuery,

<script type="text/javascript">jQuery(function(){var res = $(".test").html();return res;});</script>

を検討してみてはいかがでしょうか 良いアイデアですが、残念ながら PHP で処理できるメソッドが欲しいです。

意味がよくわかりませんが、取得した結果を PHP を使用して処理しますか?
この場合、区切り文字を使用できます

$html = << 57d8bdcacd3ecad84c5911fa295dbe64

e388a4556c0f65e1904146cc1a846beeテストテキスト 194b3e26ee717c64999d7867364b1b4a3 ;

45a2772a6b6107b401db3c9b82c049c2テストテキスト 254bdf357c58b8a65c66d7c19c8e4d114
df250b2156c434f3390392d09b1c9563
16b28748ea4df4d9c2150843fecfba68
$dom = 新しい DOMDocument();
$dom->loadHTML($html);
$xpath = 新しい DOMXPath($dom);
$tags = $xpath->query('//div[@class] = "test"]');
foreach($tags as $tag)
echo $tag->nodeValue;

HTML が不完全です。


とても良かった、u010668220は良い仕事をしました!
$s =<<< HTML<div class='test'><p>测试文字1</p><div><span>测试文字2</span></div>测试文字3<br /><br />测试文字4</div>HTML;require('phpQuery/phpQuery.php');$doc = phpQuery::newDocument($s);echo $doc->find('.test')->html();
e388a4556c0f65e1904146cc1a846beeテスト テキスト 194b3e26ee717c64999d7867364b1b4a3
45a2772a6b6107b401db3c9b82c049c2テスト テキスト 216b28748ea4df4d9c2150843fecfba68
0c6dc11e160d3b678d68754cc175188a0c6dc11e160d3b678d68754cc175188aテストテキスト4


phpQuery はオンラインでダウンロードできます
phpQuery は jquery 構文に従いますが、js イベント処理に加えて、jquery の php バージョンです
jquery の使用方法を知っている場合は、phpQuery を使用することになります

唯一の欠点は、サイズが大きいことです。少し大きいです


とても良いです、u010668220は良い仕事をしました!

$s =<<< HTML<div class='test'><p>测试文字1</p><div><span>测试文字2</span></div>测试文字3<br /><br />测试文字4</div>HTML;require('phpQuery/phpQuery.php');$doc = phpQuery::newDocument($s);echo $doc->find('.test')->html();
e388a4556c0f65e1904146cc1a846beeテスト テキスト 194b3e26ee717c64999d7867364b1b4a3
45a2772a6b6107b401db3c9b82c049c2テスト テキスト 216b28748ea4df4d9c2150843fecfba68
0c6dc11e160d3b678d68754cc175188a0c6dc11e160d3b678d68754cc175188aテストテキスト4

あはは、その答えは littlebo01 さんから返信されました、私が質問者です! !
JQ は PHP でも使用できることがわかり、素晴らしい経験になりました。 !

なんと素晴らしい方法でしょう! !後で試してみます

これに似た正規表現を使った方法をネットで見つけました
233b13c644b78e99c06661f210d1d2ab[w]+)[^>]*s[iI][dD]= (?["']?)footer(?(Quote)k)[^>]*?(/>|>((? [^> ;]*>)|6a984f6bcf167da275496d22ba671071>(?e3678bdeec773b55863dfefec2a4f152)|.*?)*6a984f6bcf167da275496d22ba671071>)
でも、本当にできない理解してください
! このアイデアは、最初に先頭の開始タグ、たとえば div (

エフェクトはこの考えに従って書くことができます



何を言っているのかよくわかりませんが、取得した結果を処理するために PHP を使用する必要がありますか?
その場合は、区切り文字を使用できます

取得するには PHP を使用するだけです。このデータは、誰かが上で PHP の JQ を紹介しました
でも、他の方法があることを願っています


より良い方法はありますか

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