문제

많은 웹 사이트는 민속 태그를 지원합니다. 당신은 들었을 것입니다 rel-tag, 여기서 "URL의 마지막 경로 구성 요소는 태그의 텍스트"라고 말합니다.

현재 브라우저에서 볼 수있는 URL의 "마지막 경로 구성 요소"를 가져 오기위한 북마크 또는 Greasemonkey 스크립트 (JavaScript)를 찾고 있으며 해당 태그를 다른 URL에 추가 한 다음 해당 페이지를 새 탭이나 창에서 열었습니다.

예를 들어, 내가보고있는 경우 "foo"태그가있는 delicious.com 페이지, 나는 만들고 싶을 수도 있습니다 "foo"태그가있는 새 URL. 또한 마지막 경로 구성 요소의 여러 태그에 대해서도 작동해야합니다. foo+바.

약간 Regexp 제안 제공되었습니다.

도움이 되었습니까?

해결책

JavaScript를 사용하고 있으므로 호스트 이름, 쿼리 스트링 등에 대해 걱정할 필요가 없습니다. location.pathname 중요한 비트를 얻으려면.

예를 들어:

var NewUrl = 'http://technorati.com/tag/';
var LastPart = location.pathname.match( /[^\/]+\/?$/ );
window.open( NewUrl + LastPart );

이로 인해 잠재적 인 단일 후행 슬래시가 가능합니다.

당신이 사용할 수있는 /[^\/]+\$/ 후행 슬래시를 허용하지 않기 위해, 또는 /[^\/]+\/*$/ 그들 중 하나에 대해.

다른 팁

두 URL이 모두 유효하다고 가정 할 수 있다면이 regex를 사용하여 첫 번째 URL에서 태그를 얻을 수 있습니다.

^[a-z]+://[^/#?]+/[^#?]*?([^#?/]+)(?:[#?]|$)

첫 번째 (및 유일한) 캡처 그룹은 태그를 보유합니다. 이 REGEX는 태그가없는 URL과 일치하지 않습니다.

태그를 다른 URL에 추가하려면 Regex를 검색하십시오.

^([^#?]*?)/?(?:[#?]|$)

그리고 다음과 같이 대체합니다.

$1/tag

이 REGEX는 원래 URL의 경로가 슬래시로 끝나는 경우 URL에 인접한 두 개의 슬래시가 끝나지 않도록합니다.

구현, 서버가 설정되는 방식과 마찬가지로 모든 재즈? 나는 그 물건에 대해 잘 알고 있지 않다 = ahh 그 소리

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top