[첫화면으로]UseModWiki소스수정/테이블

마지막으로 [b]

테이블 정렬 방식 개선 및 rowspan 기능 추가

sub CommonMarkup {
    ...
    if ($doLines) { # 0 = no line-oriented, 1 or 2 = do line-oriented
        ...
        if ($UseHeadings) {
            s/(^|\n)\s*(\=+)\s+([^\n]+)\s+\=+/&WikiHeading($1, $2, $3)/geo;
### 다음 줄을 주석처리하고 그 아래의 내용을 추가한다.
#           s/((\|\|)+)/"<\/TD><TD COLSPAN=\"" . (length($1)\/2) . "\">"/ge if $TableMode;
            my %td_align = ("&__LT__;", "left", "&__GT__;", "right", "|", "center");
            s/((\|\|)*)(\|(&__LT__;|&__GT__;|\|)((v(\d*))?))/"<\/TD><TD align=\"$td_align{$4}\" COLSPAN=\""
                . ((length($1)\/2)+1) . ((length($5))?"\" ROWSPAN=\"" . ((length($7))?"$7":"2"):"") . "\">"/ge if $TableMode;
### 여기까지
        }
    }
    ...
}
sub WikiLinesToHtml {
    my ($pageText) = @_;
    my ($pageHtml, @htmlStack, $code, $depth, $oldCode);
    my ($tag);
### 다음 라인 추가
    my %td_align = ("&__LT__;", "left", "&__GT__;", "right", "|", "center");
###
    ...
    foreach (split(/\n/, $pageText)) {  # Process lines one-at-a-time
        ...
        } elsif (/^[ \t].*\S/) {
            $code = "PRE";
            $depth = 1;
### 다음 단락은 주석처리하고 그 아래의 내용을 추가한다
#       } elsif (s/^((\|\|)+)(.*)\|\|\s*$/"<TR VALIGN='CENTER' ALIGN='CENTER'><TD colspan='" . (length($1)\/2) . "'>$3<\/TD><\/TR>\n"/e) {
#           $code = 'TABLE';
#           $TableMode = 1;
#           $depth = 1;

        } elsif (s/^((\|\|)*)(\|(&__LT__;|&__GT__;|\|)((v(\d*))?))(.*)\|\|\s*$/"<TR VALIGN='CENTER' ALIGN='CENTER'>"
                . "<TD align=\"$td_align{$4}\" colspan=\""
                . ((length($1)\/2)+1) . ((length($5))?"\" ROWSPAN=\"" . ((length($7))?"$7":"2"):"") . "\">"
                . $8 . "<\/TD><\/TR>\n"/e) {
            $code = 'TABLE';
            $TableMode = 1;
            $depth = 1;
### 여기까지
        } elsif (/^IMG:(.*)$/) {        # luke added
            StoreImageTag($1);
        ...
    }
    ...
}


위키위키분류

마지막 편집일: 2007-1-8 12:19 pm (변경사항 [d])
1121 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기