[첫화면으로]UseModWiki소스수정/EncodeUrl함수

마지막으로 [b]

1. URL %인코딩, 디코딩 함수
1.1. 사용법
1.2. 부작용
1.3. wiki.pl 수정
1.4. 추가 업데이트 내역
1.5. 사용자 의견

1. URL %인코딩, 디코딩 함수

URL에 알파벳과 숫자 이외에 한글이나 다른 기호가 포함되어 있어서, 처리에 문제가 있는 경우에 이걸 "%16진수" 형태로 변경하는 인코딩 함수와, "%16진수" 형태로 나열된 걸 다시 원래의 코드로 디코딩하는 역함수.

EncodeUrl()은 원래 있었는데 /Twitter연동 패치를 하면서 조금 수정됐습니다. DecodeUrl()은 ext2.13에서 새로 생겼습니다

1.1. 사용법

1.2. 부작용

원래는 알파벳,숫자,"_" 정도를 제외하면 다른 기호도 다 변환해야 정상인 것 같은데.. 위키에서 사용하는 이런저런 URL 형태를 고려하다보니 변환하지 않고 남겨두는 기호들이 많다. 이게 다른 패치에서 문제의 소지가 생길 우려가 있음.

1.3. wiki.pl 수정

sub EncodeUrl {
    my ($string) = @_;
    $string =~ s!([^:/&?#=a-zA-Z0-9_.-])!uc sprintf "%%%02x", ord($1)!eg;
    return $string;
}

sub DecodeUrl {
    my ($string) = @_;
    $string =~ s/%([0-9a-fA-F]{2})/chr(hex($1))/ge;
    return $string;
}

1.4. 추가 업데이트 내역

ext2.13b - 변환 제외 대상에 "&" 추가

1.5. 사용자 의견

이름:  
Homepage:
내용:
 

위키위키분류

마지막 편집일: 2010-2-8 3:54 pm (변경사항 [d])
714 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기