许多网站都支持folksonomy标记。您可能听说过 rel-tag ,其中显示“URL的最后一个路径组件”是标记“。

的文本

我正在寻找一个bookmarklet或者greasemonkey脚本(javascript)来获取“最后一个路径组件”。对于当前在浏览器中查看的URL,将该标记添加到另一个URL中,然后在新选项卡或窗口中打开该页面。

例如,如果我正在查看 delicious.com页面,标签为“foo”,我可能想创建带有标签“foo”的新网址。这也适用于最后一个路径组件中的多个标签,例如 foo + bar

已提供一些正则表达式建议

有帮助吗?

解决方案

由于您使用的是JavaScript,因此无需担心主机名,查询字符串等 - 只需使用 location.pathname 来获取重要位。

例如:

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

这允许潜在的单尾随斜杠。

你可以使用 / [^ \ /] + \ $ / 来禁止使用尾部斜杠,或者 / [^ \ /] + \ / * $ / 它们的数量。

其他提示

如果您认为自己的网址都有效,则可以使用此正则表达式从第一个网址获取代码:

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

第一个(也是唯一一个)捕获组将保留标记。此正则表达式不匹配没有任何标记的网址。

要将标记附加到其他网址,请搜索正则表达式:

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

并替换为:

$1/tag

如果原始URL的路径以斜杠结尾,则此正则表达式确保不会在URL中以两个相邻的斜杠结束。

实施,就像服务器的设置方式一样,所有的爵士乐?我对这些东西知之甚少= \啊啊听起来

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top