URLの最後のパスコンポーネントのrelタグブックマークレット
-
06-07-2019 - |
質問
多くのWebサイトがフォークソノミータグをサポートしています。 rel-tag を聞いたことがあるかもしれません。タグのテキストです"。
「ラストパスコンポーネント」を取得するためのブックマークレットまたはグリースモンキースクリプト(javascript)を探しています。現在ブラウザで表示されているURLの場合、そのタグを別のURLに追加し、そのページを新しいタブまたはウィンドウで開きます。
たとえば、タグ" foo"を持つdelicious.comページを見ている場合、タグ" foo" を使用して新しいURLを作成できます。これは、 foo + bar など、ラストパスコンポーネントの複数のタグでも機能するはずです。
正規表現の提案が提供されています。
解決
JavaScriptを使用しているため、ホスト名やクエリ文字列などを心配する必要はありません。重要な部分を取得するには location.pathname
を使用するだけです。
例:
var NewUrl = 'http://technorati.com/tag/';
var LastPart = location.pathname.match( /[^\/]+\/?$/ );
window.open( NewUrl + LastPart );
これにより、潜在的な単一の末尾のスラッシュが可能になります。
/ [^ \ /] + \ $ /
を使用して末尾のスラッシュを禁止するか、または / [^ \ /] + \ / * $ /
を使用して、それらの数。
他のヒント
両方のURLが有効であると想定できる場合、次の正規表現を使用して最初のURLからタグを取得できます。
^[a-z]+://[^/#?]+/[^#?]*?([^#?/]+)(?:[#?]|$)
最初の(そして唯一の)キャプチャグループがタグを保持します。この正規表現は、タグのないURLとは一致しません。
タグを別のURLに追加するには、正規表現を検索します:
^([^#?]*?)/?(?:[#?]|$)
および次のものに置き換えます:
$1/tag
この正規表現は、元のURLのパスがスラッシュで終わる場合、URLで2つの隣接するスラッシュで終わらないようにします。
実装、サーバーのセットアップ方法など、すべてがジャズですか?私はそのようなものについてあまり知識がありません= \ああ聞こえる