
正規表現を使い、URLで条件分岐したいのですが、
うまくいかないので、教えてください。
<やりたいこと>
http://ドメイン/page1.html
http://ドメイン/page2.html
:
のページの時のみ、
という条件分岐をしたい。
<現状>
if($_SERVER['REQUEST_URI']=="/page1.html"){
とするとうまくいくのですが、
これを任意のpage○で対応したい
$_SERVER['REQUEST_URI']=="^/page*.html$"){
としたけど、ダメでした。
どう書けば、よいでしょうか?
No.1ベストアンサー
- 回答日時:
まず、 == は完全一致であって、正規表現とのマッチングではない。
$_SERVER['REQUEST_URI'] =="^/page*.html$" は 「$_SERVER['REQUEST_URI']が"^/page*.html$"という文字列と等しい」という意味になる、というのが一点。
preg_match関数等の正規表現用の関数を使う。
もう一点は、正規表現が目的のものと一致していない。
*は「直前の表現の0回以上の繰り返し」
.は「任意の一文字」
という意味がある。なので、この表現だと
先頭 / p a g eの0回以上の繰り返し 任意の一文字 h t m l 最後
という文字列と一致する。
一つ以上の数字なら [0-9]+
.の特殊な意味を無効にするなら \. とエスケープする。
また、preg_*を使うなら、表現の前後にデリミタが必要。
以上をまとめると
if ( preg_match( '#^/page[0-9]+\.html$#', $_SERVER['REQUEST_URI'] ) {
より詳細はマニュアル
http://jp2.php.net/manual/ja/book.pcre.php
や各解説書、解説サイト等を参考に。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- サーバー 301リダイレクトができる条件を知りたいです 2 2022/10/25 11:21
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- C言語・C++・C# c言語 1 2022/11/09 13:05
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- 工学 ちなみになぜv=(v・e1)e1+(v・e2)e2はe1やe2が、正規直交基底でないと成り立たないと 2 2022/12/22 17:22
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- PHP PHP ページング データベース 1 2022/06/16 10:30
- C言語・C++・C# C言語 3 2022/11/09 13:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
階層が違う場合の絶対パス相対...
-
文字化けで混乱中です...
-
centos6のlogにscript not foun...
-
PHPでhtmlファイル内のテキスト...
-
Perlで検索エンジン作成は可能!?
-
PHPを使った会員登録サイト
-
グーグル検索について
-
PHPでメールの送信(Gmail使用)
-
フォントの色を変えるには?
-
ツリーメニューを縮小させたい
-
mysqlへのデータ挿入
-
PHPの拡張子を見せない方法
-
クラスについて
-
Re: Cookieを使ってオブジェク...
-
サーバーによってはmb_send_mai...
-
PHPでサーバーにインストールさ...
-
Apache又はPHPのフォルダ名
-
Webアプリにおけるエントリポイ...
-
PHPで新しいウインドウで開く命...
-
自動で動くプログラミングについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
includeでHTMLファイルを呼出し...
-
拡張子htmlでphpが動作するフォ...
-
centos6のlogにscript not foun...
-
PHPのアニュアル17章をみて
-
HPをhtmlからphpにする...
-
phpの階層が変わると上手く読み...
-
PHPで下記のサイトのスクリプト...
-
モバイルサイトのxhtmlでPHPを...
-
php セレクトボックス 分岐 ...
-
inet コントロールを用いてHTML...
-
文字化けで混乱中です...
-
携帯でhtmlが見えない
-
HTMLページにPHPで処理した結果...
-
index.phpにbbs.phpを埋め込みたい
-
超あほな質問で本当にすみません。
-
リライトのはずがリダイレクト...
-
おすすめデフラグツール
-
includeにより他の部分が表示さ...
-
正規表現を使い、URLで条件分岐...
-
連想配列を含むヒアドキュメン...
おすすめ情報