新規作成 | 管理 | 差分 | 検索 | FrontPage | ページ一覧 | 更新履歴 | RSS

PlugIn/search-paragraph - 内容が検索文字列にヒットするパラグラフ名のリストを返す

管理

内容が検索文字列にヒットするパラグラフ名のリストを返す

$plugin->def("search-paragraph",
  "内容が検索文字列にヒットするパラグラフ名のリストを返す",
  sub {
    my $key = shift;
    my @search_target = @_;
    my @hits = ();
    if($search_target[0] eq ""){ @search_target=keys %database; }
    foreach my $page (@search_target) {
      next if $page eq $form{mypage};
      next if $page eq 'RecentChanges';
      my @parts = map { 
                    s/^(\*+)/'!' x length($1)/mge;
                    s/$embedded_name//go;
                    CGI::escapeHTML($_);
                  } read_by_part($page);
      for (my $i=0; $i < @parts; $i++) {
        if ($parts[$i] =~ $key) {
          my $link = "$page" . ($i == 0 ? "" : "#i@{[$i-1]}");
          push @hits, "$link";
        }
      }
    }
    return @hits;
  }
);

[FIX] Eliminate embedded name ( [[#hogehoge(3)]] ) [済]

管理

2003-07-02 (Wed) 14:47:03 これも。--SHIMADA

      my @parts = map {
                    s/^(\*+)/'!' x length($1)/mge;
-                   s/\[\[#[a-z]+\]\]//go;
+                   s/$embedded_name//go;
                    CGI::escapeHTML($_);
                  } read_by_part($page);

検索範囲を指定できるように修正

管理

$plugin->def("search-paragraph",
  "内容が検索文字列にヒットするパラグラフ名のリストを返す",
  sub {
    my $key = shift;
+   my @search_target = @_;
    my @hits = ();
+    if($search_target[0] eq ""){ @search_target=keys %database; }
+    foreach my $page (@search_target) {
-    foreach my $page (keys %database) {
      next if $page eq $form{mypage};
      next if $page eq 'RecentChanges';
      my @parts = map { 
                    s/^(\*+)/'!' x length($1)/mge;
                    s/$embedded_name//go;
                    CGI::escapeHTML($_);
                  } read_by_part($page);
      for (my $i=0; $i < @parts; $i++) {
        if ($parts[$i] =~ $key) {
          my $link = "$page" . ($i == 0 ? "" : "#i@{[$i-1]}");
          push @hits, "$link";
        }
      }
    }
    return @hits;
  }
);

修正しました。- rica 2003-09-10 (Wed) 10:08:58