バージョン | 1.4以降 |
---|---|
投稿者 | zume |
状態 | 完了 |
投稿日 | 2005-02-02 (水) 20:53:36 |
A/B/C A/B/Z A/C/Y A/C/Z
とページがある時に、Zをパターンに指定して
A/B/Z A/C/Z
を抜き出してlsしてくれるプラグインが欲しいです
--- ls.inc.php.orig Sat Jul 31 12:09:20 2004 +++ ls.inc.php Wed Feb 2 21:19:20 2005 @@ -17,7 +17,10 @@ if (func_num_args()) { $args = func_get_args(); - $with_title = in_array('title',$args); + if ( $args[0] == 'title' ) { + $with_title = TRUE; + array_shift($args); + } } $prefix = $vars['page'].'/'; @@ -25,7 +28,8 @@ $pages = array(); foreach (get_existpages() as $page) { - if (strpos($page,$prefix) === 0) + if (strpos($page,$prefix) === 0 && + preg_match('/'.$args[0].'/', $page)) { $pages[] = $page; }パターンは正規表現で指定します &bigsmile;
--- ls.inc.php.orig Sat Jul 31 12:09:20 2004 +++ ls.inc.php Thu Feb 3 21:56:16 2005 @@ -12,20 +12,17 @@ { global $vars; - $with_title = FALSE; + list( $pattern, $with_title) = func_get_args(); - if (func_num_args()) + if (!$pattern) { - $args = func_get_args(); - $with_title = in_array('title',$args); + $pattern = '^'.preg_quote($vars['page'].'/', '/'); } - $prefix = $vars['page'].'/'; - $pages = array(); foreach (get_existpages() as $page) { - if (strpos($page,$prefix) === 0) + if ( preg_match('/'.$pattern.'/', $page)) { $pages[] = $page; }こんなとこで -- 2005-02-03 (木) 22:01:46