はじめに「はじめての正規表現」がホッテントリ入りしていますが、 導入としては、何に使うのかがわかりやすくて良いのではないかと思います。 あれを見て、基本機能をまとめてみたくなったので、正規表現の基本的な機能について書いてみます。 (正規表現が初めてという人は「はじめての正規表現」を先に見たほうがいいと思います。) 例では「検索」か「置換」をするものとして話を進めていきます。 (「はじめての正規表現」が実例を中心にしたのに対して、こちらは機能を中心に書きます) 正規表現は、プログラミング言語やその他のツールなど、それぞれで微妙な違い(方言)があるので、その点には注意が必要です。 (表記法が違ったり、ここに紹介する機能がサポートされていなかったり、逆に紹介していない機能をサポートしていたりする場合があります) メタ文字とリテラル文字正規表現には、メタ文字とリテラル文字というものがあります。 メ
PHPを使用して、事前にコメントを含めたHTMLを読み込み、コメント以外を置き換えて表示する方法を教えてください。 html内にあらかじめコメントを付けておき、htmlをphpにて読み込んで そのコメントからコメント以外をphpにて置き換えて表示させたいと思います。 php読込についてはわかりますが、正規表現、置き換えがわかりません。よろしくお願いします。 置き換え文字はブランクでお願いします。 例: <html> htmlタグ 途中省略 ↓ここから------------------------------------- <!--スタート--> htmlタグ 途中省略 <!--終了--> ↑ここまでを置き換えたい。-------------------- htmlタグ 途中省略 </html>
4.11 正規表現関数 正規表現パターンを用いた検索や置換はデータベースを利用したWebアプリケーションではよく使います。PHPでは、そのために正規表現パターンを用いて処理する正規表現関数が準備されています。 正規表現検索で使用する関数には、preg_match関数、preg_match_all関数、preg_grep関数があります。 正規表現検索・置換で使用する関数には、preg_replace関数があります。 正規表現パターンを用いた文字列の分割に使用する関数には、preg_split関数があります。 ■preg_match() 対象文字列の中にパターン文字列にマッチするものがあるかないかをチェックするにはpreg_match関数を使用します。preg_match関数の書式は次のとおりです。 preg_match(パターン文字列, 対象文字列) サンプルのリストを4.55に示します。
PHP 基礎編9 - 正規表現、マッチ、置き換え、ereg、eregi、eregi_replace ■正規表現 ・PHP では、ereg で文字列の検索や置き換えを行う。 (パターンマッチ、パターンマッチング) 大文字小文字の区別をしない場合は、eregi を使用する。 また、文字列を置き換える場合は、ereg_replace を使用する。 大文字小文字の区別をしない置き換えは、eregi_replace を使用する。 $rcd = ereg(マッチパターン, 対象変数 [, 代入配列]); |_ True 一致(マッチ数) False 不一致 $rcd = eregi(マッチパターン, 対象変数 [, 代入配列]); |_ True 一致(マッチ数) False 不一致 $rcd = ereg_replace(マッチパターン, 置換文字列, 対象変数); |_ True 一致(マッチ数)
(PHP 3>= 3.0.9, PHP 4 , PHP 5) preg_match_all -- グローバル正規表現検索を行う 説明int preg_match_all ( string pattern, string subject, array matches [, int flags]) subjectにおいて patternで指定した正規表現にマッチする かどうかを検索し、flagsで指定した 順番で matchesに結果を代入します。 最初にマッチするものが見つかった後、最後にマッチしたパターンの後から 検索が続行されます。 flagsは、以下のフラグの組み合わせとなります。 (PREG_PATTERN_ORDERを PREG_SET_ORDERと組み合わせて使用することは無意 味であることに注意して下さい。) PREG_PATTERN_ORDER $matches[0] がパタ
preg_matchあるいはereg関数を用いて、 &p=XX (XXは半角数字2桁)のようなパラメーターがURLに含まれるかを調べたいのですが、p=XXまではうまくいくのですが、&p=XXだと マッチしなくなります。 $url = "http://hogehoge.jp/index.php&p=01"; $pattern = "&p=[0-9]{2}"; if (preg_match($pattern, $url)) { echo "ある"; } else { echo "ない"; } ご指導のほど宜しくお願いします。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く