-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; |