2008-11-05 3 views
2

많은 웹 사이트에서 Folksonomy 태그를 지원합니다. rel-tag에 대해 "URL의 마지막 경로 구성 요소가 태그의 텍스트임을"알 수 있습니다.URL의 마지막 경로 구성 요소에 대한 rel-tag 북마크

브라우저에서 현재보고있는 URL의 "마지막 경로 구성 요소"를 가져오고 해당 태그를 다른 URL에 추가 한 다음 새 탭에서 해당 페이지를 열려면 북마크 또는 greasemonkey 스크립트 (javascript)를 찾고 있습니다. 또는 창.

예를 들어 delicious.com page with the tag "foo"을보고있는 경우 a new URL with the tag "foo"을 만들 수 있습니다. 이것은 마지막 경로 구성 요소의 여러 태그 (예 : foo+bar)에 대해서도 작동해야합니다.

일부 regexp suggestions이 제공되었습니다. 당신이 추측 할 수 두 URL이 유효 할 경우

답변

4

JavaScript를 사용하고 있으므로 호스트 이름, 쿼리 스트링 등을 걱정할 필요가 없습니다. location.pathname을 사용하여 중요한 비트를 얻으십시오. 예를 들어

: 전위 단일 슬래시 허용

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

.

/[^\/]+\$/을 사용하여 후행 슬래시를 허용하지 않을 수도 있고, 임의의 수만큼 /[^\/]+\/*$/을 사용할 수도 있습니다.

+0

고마워. 위의 스크립트를 http://userjs.up.seesaa.net/js/bookmarklet.html에 붙여 넣었고 하나의 태그에 대해 작동하는 북마크릿을 생성했지만 (테크니컬에서는) 하나 이상의 태그에서 작동하지 않았습니다 (예 : ,/foo + bar). 분명히 technorati는 단일 태그를 원합니다. 그러나 NewUrl을 http://delicious.com/tag/로 설정하면 잘 작동합니다. 인트라넷 소셜 북 마킹 사이트에서이 기능을 사용하고 맛있는 태그를보고 싶습니다. – Pauld

0

, 당신이 정규식 최초의 URL에서 태그를 얻을 수 있습니다 :

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

첫 번째 (만) 캡처 그룹은 태그를 개최한다. 이 정규식은 태그가없는 URL과 일치하지 않습니다.

는, 다른 URL에 태그를 추가 정규식을 검색하려면 :

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

및 교체 :이 정규식 확인 URL에서 두 개의 인접한 슬래시와 끝까지하지 않을 수 있습니다

$1/tag 

원래 URL의 경로가 슬래시로 끝나는 경우

-1

구현 방법은 서버가 설정되는 방식대로 재즈가 모두 설정되어 있습니까? 나는 그 물건에 관해 매우 지식이 없다. \ ahh는 들린다.