2

许多网站都支持民俗标签。您可能听说过rel-tag,它说“URL 的最后一个路径组件是标签的文本”。

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

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

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

4

3 回答 3

4

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

例如:

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

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

您可以使用/[^\/]+\$/来禁止尾随斜杠或/[^\/]+\/*$/任意数量的斜杠。

于 2009-05-03T15:34:47.260 回答
0

如果您可以假设您的两个 URL 都有效,则可以使用此正则表达式从第一个 URL 获取标记:

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

第一个(也是唯一的)捕获组将持有该标签。此正则表达式不会匹配没有任何标签的 URL。

要将标记附加到另一个 URL,请搜索正则表达式:

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

并替换为:

$1/tag

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

于 2008-11-26T17:26:20.533 回答
-1

实施,如​​服务器的设置方式,所有爵士乐?我对那些东西不是很了解=\啊听起来

于 2009-11-09T14:25:33.423 回答