
<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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPスクレイピングが上手くいき...
-
Accessの文字数を調べたい
-
文字の入力で横バー上段、中断...
-
VBAのコマンドボタンの文字列の...
-
全角英数文字が嫌われる理由を...
-
文字化け変換方法
-
半角記号、全角記号を含む正規...
-
texのchapterが改行される
-
エクセルのCOUNTIFが正しくカウ...
-
ソースコードの1行が長いとき...
-
【PHP】mb_convert_encoding...
-
全角括弧と全角読点の間隔を狭...
-
文字列を文字コードの数値に変...
-
テキストボックスに改行を含む...
-
jsp 改行コードで改行させて表...
-
半角スペース の文字化け...
-
テキストボックス行の桁数を制...
-
JavaMail,本文中の改行について
-
FTP受信する際、改行コードをは...
-
最終行の改行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
reuterの記事をbeautiful.soup....
-
PHPでPostgresqlのテーブルを使...
-
[php][正規表現]タグ以外を削除...
-
タグにはさまれている文字以外...
-
ASP.NET(C#)とhtmlの#include
-
phpの正規表現でstyle="●●"を削...
-
PHP Webページのタイトルを取得...
-
Strutsでリンクを動的に生成したい
-
htmlタグ間の特定文字置換
-
[正規表現][入れ子]ネストされ...
-
Nvuで作成したhtmlをコピペして...
-
preg_match_all関数でaタグの属...
-
eclipseより、タスク・タグの使...
-
firefoxで、特定の文字列を含む...
-
タグのエスケープについて
-
正規表現で複数行に渡る範囲を...
-
htmlのソースからテーブルの値...
-
VBSでのhtmlタグ要素名の置換
-
htmlの一部を読み込んで表示する。
-
alt属性を残してタグを排除
おすすめ情報