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); ... } ... }