![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
ずっと悩んでなかなか解決できません。特定タグを子要素を含め取得したいのですが...
例えば以下のタグがあるとして
<div id="1">a<div id="2">b<div id="3">cc</div>b</div>a</div>
特定タグを子要素を含め取得して、それを配列に格納。配列の中は
[0] <div id="1">a<div id="2">b<div id="3">cc</div>b</div>a</div>
[1] <div id="2">b<div id="3">cc</div>b</div>
[2] <div id="3">cc</div>
このような配列の結果がでる動作方法はどうやればいいのでしょうか?
正規表現を使ってやろうとしてますが、自分のレベルでは難しくてできません。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
<?php
$s = '<div id="1">a<div id="2">b<div id="3">cc</div>b</div>a</div>';
while(preg_match('/<(\w+)[^>]*>(.*)<\/\1>/', $s, $m)) {
$result[] = $m[0];
$s = $m[2];
}
var_dump($result);
?>
こんな感じでどうでしょう。
正規表現一発じゃないですが。
No.1
- 回答日時:
xpathを使うと簡単にできます。
使い方は参考URLを見て下さい。ただしphp-xmlが必要です。レンタルサーバで入ってなければ使えません。
ちなみにそういうのをDOM操作(あるいはDOM解析)と言いまして、正規表現でも出来ないことないけど汎用的ではありませんのでxpathのようにDOM操作に適したライブラリや環境を使うと良いでしょう。
PHPに拘らなければJavascriptのjQueryもお勧め。
あと、ID値に数値のみだと何かと面倒なので頭にアルファベットを付けるなりしたほうが良いと思います。
参考URL:http://logic.moo.jp/memo.php/archive/723
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- Ruby No route matches [GET] "/posts/5/destroy" 1 2022/03/24 13:00
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript 【Javascript】ボタンクリックで2つのclassに対し、それぞれ別のclassを追加したい 1 2022/07/29 20:52
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
秀丸で複数行コメントアウトを...
-
行頭から全角で3文字位さげた...
-
chromedriverのver-upで動作不...
-
htmlの文字が縦書きになる
-
htmlのolやulなどlistにtitleや...
-
【ヒトの神秘】美男美女から何...
-
リストマーカーをボックス内に...
-
質問1.
-
含む含まないという概念自体の...
-
HTML属性での「""」 「''」違い
-
「諸要素」とはどういう意味で...
-
widthやheightの数値に単位(px...
-
html の divとtable の役割
-
ヘッダーとフッターだけ背景を...
-
emとstrongの反対
-
円形の配置にするコーディング...
-
アコーディオンメニューがかく...
-
<div id="container">の使いか...
-
html/cssの、navを2段にする...
-
タグは大文字と小文字どちらが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでの素数の求め方
-
cnt <= (others => '0'); の意...
-
質問です。 新規登録ボタンが全...
-
ASP.NETでプレーンなページに文...
-
Excel VBAでのIE操作でクリック...
-
pythonでのカーソル移動がずれる
-
chromedriverのver-upで動作不...
-
css リンクの色が全部変わって...
-
safariで見るとページ上部に余...
-
【Ruby】改行挿入 文字列操作
-
VBA : QueryTableでのスクレイ...
-
1行内に『左寄せ/センタリン...
-
プログラマーの方に質問です。 ...
-
.htaccessについて
-
携帯サイトの背景色
-
行頭から全角で3文字位さげた...
-
Ajaxで文字列を表示したいです。
-
HP作成に於いて、スマホでのサ...
-
HTMLにおいて、中央寄せができない
-
秀丸で複数行コメントアウトを...
おすすめ情報