PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。
Q&A
解決済
2回答
434閲覧
総合スコア17
0グッド
0クリップ
投稿2014/08/13 22:02
0
color="#ffffff", color="#000000"などの値をpreg_match_allを使いファイルから取得しようとしています preg_match_all( '/\bcolor=([a-f ]*)/', $text, $matches); でも、なぜかcolor=しか取得できません
preg_match_all( '/\bcolor=([a-f ]*)/', $text, $matches);
どなたかcolor=とそれに続く文字列を検索する方法を教えていただけないでしょうか? よろしくお願いします
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
ベストアンサー
カラーコードのものだけを取得したいのであれば、
lang1preg_match_all('/bcolor=["'](#[0-9a-f]+)["']/i', $text, $matches);
lang
1preg_match_all('/bcolor=["'](#[0-9a-f]+)["']/i', $text, $matches);
カラーネーム指定のものも取得するなら、
lang1preg_match_all('/bcolor=["'](#[0-9a-f]+|[a-z]+)["']/i', $text, $matches);
1preg_match_all('/bcolor=["'](#[0-9a-f]+|[a-z]+)["']/i', $text, $matches);
正規表現の習得は大変ですよね。マニュアルを読んで、少しずつ理解を深めていってください! http://php.net/manual/ja/reference.pcre.pattern.syntax.php
投稿2014/08/21 08:32
総合スコア94
回答へのコメント
2014/08/22 00:52
文字列の中のquotesや#がマッチしていませんよ。下記のように書き換えてみてください。 preg_match_all('/\bcolor="([#a-f]*)"/i', $text, $matches); ただ、パースの対象次第では正規表現はベストなツールとは言えなくなります。HTMLをパースする時は、HTML parserを使うのがベストだと思います!
preg_match_all('/\bcolor="([#a-f]*)"/i', $text, $matches);
投稿2014/08/15 02:30
総合スコア188
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
PHP:preg_match_allの使い方について。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/08/22 00:52