UseModWiki소스수정/MySign매크로 페이지의 소스 보기
마지막으로 [b]
-- Loading page list... --
내용출력
로그인[l]
Diary
[f]
최근변경내역
[r]
페이지목록[i]
횡설수설[2]
게시판[3]
링크
수정할 수 없습니다: UseModWiki소스수정/MySign매크로 는 읽기 전용 페이지입니다.
== <mysign(name,time)> 매크로 도입 == * [[게시판]] 등에서 <mysign(name,time)> 의 형태로 적으면, 우측으로 정렬되는 서명을 출력한다. * name 과 time 자리에 들어갈 수 있는 값에 대해 조건이 복잡하다. 잘못된 값을 넣어 예상하지 못한 출력이 나오는 것을 막아보고자 함이니, 이 매크로를 직접 사용하지 말고 <mysign> 를 사용하는 것을 권장한다. * 이런, mysign(name,time) 을 임의로 작성하는 것을 최대한 막으려고 엄격하게 검사를 시켰더니만, $UseAmPm 변수가 0일 경우 (am, pm 을 쓰지 않고 24시간제로 표시) 제대로 치환이 되지 않는 문제가 있었다. 정규표현식을 수정하여 해결. : {{{#!vim perl sub MacroSubst { ... # 원래 소스 코드에는 < 와 > 로 적혀 있는 것을, {{{ }}} 태그 사용을 위하여 # &__LT__; 와 &__GT__; 로 수정했다. 자세한 내용은 {{{ }}} 태그 도입 항목을 참조 $txt =~ s/\&__LT__;goto\((.*)\)\&__GT__;/&MacroGoto($1)/gei; $txt =~ s/\&__LT__;history\((.*)\)\&__GT__;/&MacroHistory($1)/gei; ### 다음 라인을 추가 $txt =~ s/\&__LT__;mysign\(([^,]+),(\d+-\d+-\d+ \d+:\d+.*)\)\&__GT__;/&MacroMySign($1, $2)/gei; ### return $txt; } }}} : 적당한 위치에 MacroMySign 함수 전체를 삽입한다 {{{#!vim perl sub MacroMySign { my ($author, $timestamp) = @_; return "\n
-- $author
$timestamp
\n"; } }}} ---- [[위키위키분류]]
UseModWiki소스수정/MySign매크로
페이지로 돌아가기 |
다른 수정본 보기