许多网站都支持folksonomy标记。您可能听说过rel-tag,其中说“URL的最后一个路径组件是标记的文本”。
我正在寻找bookmarklet或者greasemonkey脚本(javascript)来获取当前在浏览器中查看的URL的“最后路径组件”,将该标记添加到另一个URL,然后在新选项卡中打开该页面或窗口。
例如,如果我正在查看delicious.com page with the tag "foo",我可能想要创建a new URL with the tag "foo"。这也适用于最后一个路径组件中的多个标记,例如foo+bar。
已提供一些regexp suggestions。
答案 0 :(得分:4)
由于您使用的是JavaScript,因此无需担心主机名,查询字符串等 - 只需使用location.pathname
即可获得重要位。
例如:
var NewUrl = 'http://technorati.com/tag/';
var LastPart = location.pathname.match( /[^\/]+\/?$/ );
window.open( NewUrl + LastPart );
这允许潜在的单尾随斜杠。
您可以使用/[^\/]+\$/
来禁止使用尾部斜杠,也可以/[^\/]+\/*$/
使用任意数量的斜杠。
答案 1 :(得分:0)
如果您认为自己的网址都有效,则可以使用此正则表达式从第一个网址获取代码:
^[a-z]+://[^/#?]+/[^#?]*?([^#?/]+)(?:[#?]|$)
第一个(也是唯一一个)捕获组将保留标记。此正则表达式不匹配没有任何标记的网址。
要将标记附加到其他网址,请搜索正则表达式:
^([^#?]*?)/?(?:[#?]|$)
并替换为:
$1/tag
如果原始URL的路径以斜杠结尾,则此正则表达式确保不会在URL中以两个相邻的斜杠结束。
答案 2 :(得分:-1)
实施,就像服务器的设置方式一样,所有的爵士乐?我对这些东西知之甚少= \啊啊听起来