| -1,17 +1,18 |
| == RemoveLink() 함수 추가 == |
| == # RemoveLink() 함수 추가 == |
| * <allpagesto> 매크로를 만드는 과정에서 생긴 부산물 |
| * 페이지 이름을 인자로 받는 매크로의 경우, 페이지 이름이 [[위키네임]]일 경우 먼저 해당 페이지에 대한 링크로 변환된 후 매크로 치환이 일어나기 때문에 엉뚱한 인자가 넘어가게 된다. |
| * 이 함수가 하는 일은 문자열을 받아서 그 안에 있는 a href 태그 및 기타 페이지링크의 특성 (존재하지 않는 페이지의 경우 물음표가 붙거나 첫글자가 볼드체인 것 등) 을 제거하고 사용자가 입력한 그대로 넘기는 것이다. 다만 사용자가 <nowiki>[[ ]]</nowiki> 를 명시적으로 넣어버리는 경우는 처리해주지 못한다. |
| * 만약에 위키네임에 대한 처리를 다르게 하도록 고쳤다면, 여기서도 적절히 그 역변환 과정을 넣어주어야 한다. |
| : |
|
| === # wiki.pl 수정 === |
|
| {{{#!vim perl |
| # 다음 함수를 통채로 추가 |
| sub RemoveLink { |
| my ($string) = @_; |
|
| $string = &RestoreSavedText($string); |
| $string =~ s/<a href[^>]*>(\?<\/a>)?//ig; |
| $string =~ s/<\/?b>//ig; |
| $string =~ s/<a[^>]+?href[^>]+?>(\?<\/a>)?//ig; |
| $string =~ s/<\/a>//ig; |
|
| return $string; |