**[[続・質問箱/530]] [#i9635bb9]
#author("2018-03-11T14:39:04+09:00;2010-03-27T23:56:33+09:00","","")
**[[質問箱/2530]] [#i9635bb9]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|「一覧・更新一覧に含めないページ名」で複数の正規表現を使う可能性について|
|~バージョン|1.4.4_php5|
|~投稿者|[[バイズ]]|
|~状態|完了|
|~投稿日|&new{2005-01-11 (火) 16:16:32};|
***質問 [#b35f81fa]
一覧・更新一覧に含めないページ名の正規表現パターン $non_list では[[正規表現]]で指定しているのですが、次のように

 /////////////////////////////////////////////////
 // 一覧・更新一覧に含めないページ名(正規表現で)
 $non_list   = '^(\:.+|コメント\/.+|日記\/.+|MenuBar|FrontPage|template|RecentDeleted|.+\/template|.+\/SubMenu)$';

正規表現を長く書いてしまってと自分でも正確にマッチするか分からないときがあるのですが、これらの正規表現を配列に分けて、この正規表現のパターンを含めた配列で一覧・更新一覧に含めないページ名をマッチさせる事が可能でしょうか。

例えば:

 $non_list_array = array(
 	'^(\:|コメント\/|日記\/)',
 	'(MenuBar|FrontPage|template|RecentDeleted)',
 	'\/SubMenu$',
 );

といった感じで、

-ページ名の先頭にマッチするパターン、
-ページ名の文字列にマッチするパターンと、
-ページ名の終わりにマッチするパターン

に分ける事で正規表現の編集がかなりラクになると思いますが、どなたか対策がありましたら教えて頂けるのでしょうか。

よろしくお願いします。

***回答 [#c2fa6beb]
-array定義後に non_list を join で作ったらだめですか? (^^; -- [[teanan]] &new{2005-01-11 (火) 16:28:59};
-だめっぽい >_< PHP のハンドブックを読んだら join() は配列の内容を連結する文字列を指定する必要があるので、正規表現を連結文字列で作ったらマッチしないような気がします((知識が足りないので曖昧な言い方になりますが…))。でもとりあえずやってみます!有難うございました (^^) -- [[バイズ]] &new{2005-01-11 (火) 16:54:32};
-&worried; ? --  &new{2005-01-11 (火) 20:05:14};
 $non_list_array = array(
     '^(\:|コメント\/|日記\/)',
     '(MenuBar|template|RecentDeleted)',
     '\/SubMenu$',
 );
 $non_list = implode('|',$non_list_array);
--私が言いたかった内容は、上記のとおりです :) -- [[teanan]] &new{2005-01-12 (水) 08:47:13};
-で、できたできた!! (^^) teanan さん有難うございます。一つのパイプで連結するだけでこの問題を解消する((なんでこれで動くの?と思ったがまた自分で勉強してみます))なんてスゴイです!正規表現の知識が足りないなと痛感しました。調子が良いので、他に正規表現パターンが必要なハックも変更しました。今正規表現の編集/追加はかなりラクです (^^) -- [[バイズ]] &new{2005-01-12 (水) 13:49:31};
--いえ、上記のコードは私が書いたものではないです (^^;((感謝は匿名の方に :) )) -- [[teanan]] &new{2005-01-12 (水) 16:04:52};
-匿名のお方、teanan さんに感謝です (^^) -- [[バイズ]] &new{2005-01-13 (木) 10:52:06};
- 類似: [[質問箱3/218]]、[[質問箱3/218]] --  &new{2005-12-30 (金) 17:00:37};
- 類似: [[質問箱/3218]]、[[質問箱/3218]] --  &new{2005-12-30 (金) 17:00:37};

//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.050 sec.

OSDN