<html>
<div></div>
<div class="content">
<b>内容<b/><br />
<img src="#" />
<p>ほげほげほげほげ</p>
</div>
<div></div>
</html>
上のようなHTMLがあるとします。<div>の前後にもhtmlは書かれています。
そこから正規表現で<div class="content">~~~</div>の中身を取り出したいのですが、できません。
言語はPHPで、
/<div class=\"content\">.*<\/div>/
と書いてみたんですが、改行などがありうまくいきませんでした。
どのようにに記述すればうまくいくんでしょうか。
No.3ベストアンサー
- 回答日時:
> preg_match(/<div class=\"content\">.*<\/div>/s),$target);
> と書いて、divの中身を取り出すことはできたのですが、
> <div class="content">の対の</div>ではなく、html文中にある一番最後の</div>が対象になってしまいました。
* だと最長一致なので
代わりに最短一致の *? を使ってみてはどうでしょう。
(/<div class=\"content\">.*?<\/div>/s
No.2
- 回答日時:
preg_* なら sオプションを追加してください。
mb_ereg*なら、パターンに埋め込み、かなあ。
"(?s)...."
この回答への補足
preg_matchを使っているんですが、sオプションは何を意味するんでしょうか?
マニュアルを見てもそれらしいものが見つからなかったんですが。
http://php.holywar.net/manual/ja/reference.pcre. …
すいません。書いてありました。
preg_match(/<div class=\"content\">.*<\/div>/s),$target);
と書いて、divの中身を取り出すことはできたのですが、
<div class="content">の対の</div>ではなく、html文中にある一番最後の</div>が対象になってしまいました。
1個目を指定などは可能でしょうか?
No.1
- 回答日時:
最初に全行を取込んでから処理してみては?
取込む際に無駄な改行コードを削除してから
正規表現でデータを取り出してみてはいかがでしょうか?
ありがとうございます。
\sで「空白文字(スペース、復帰文字、タブ、改行文字、ラインフィード)」みたいだったので下のように書いたのですが、
preg_replace("/\s/", '', $target);
<div class="content">が<divclass="content">のように、タグの中のスペースまで削除されてしまいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- HTML・CSS サルワカさんの吹き出しのスタイルシートについて。 https://saruwakakun.com/h 2 2022/10/28 22:55
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS HTML、cssのatomつぅーやつで 課題Ex1ってやつを表示させたいのですが、 私は課題Ex1が 2 2022/12/15 16:56
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
九九の課題の件です
-
HTMLファイルの書き換え
-
ASP.NET(C#)とhtmlの#include
-
HTMLタグの読み方辞典
-
URLの連続アクセス
-
print "<img src=\\"0.jpg\\/>\...
-
Struts/JSTL 以外のタグライブラリ
-
強制ジャンプを中止したいです。
-
スクレイピングの仕方
-
VBAのコマンドボタンの文字列の...
-
COBOLの改行
-
ソースコードの1行が長いとき...
-
文字の入力で横バー上段、中断...
-
JavaDoc コメントの改行について
-
カンマの含まれる文字列の数値...
-
C++で空Enterの入力を判...
-
jsp 改行コードで改行させて表...
-
秀丸の正規表現で複数行にわた...
-
ファイルから読み取った改行文...
-
数値をASCII文字にする方法につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
reuterの記事をbeautiful.soup....
-
変数にHTMLを代入する場合
-
Nvuで作成したhtmlをコピペして...
-
srcに「banner.」で始まるファ...
-
[php][正規表現]タグ以外を削除...
-
PHPの正規表現でHTMLタグの内容...
-
htmlでflashを開く、画面サイズ...
-
csobjというタグについて
-
正規表現でHTMLタグの属性まで...
-
正規表現でタグの置換をしたい...
-
HTMLファイルの書き換え
-
★PHP★フォーム登録時にタグを読...
-
PHP4→5にアップグレードしたら...
-
オリジナルタグをHTMLタグに置...
-
print "<img src=\\"0.jpg\\/>\...
-
Strutsでリンクを動的に生成したい
-
正規表現で複数行に渡る範囲を...
-
PHP Webページのタイトルを取得...
-
リッチテキストエディターでの...
-
MP3のコメントタグやSYLTの詳細
おすすめ情報