希望修改Yahoo Answers链接以删除部分内容,只保存qid
并将index
替换为answer
。
所以这个:
http://answers.yahoo.com/question/index;_ylt=AhT5ZZwbMiGWdQZDSxD1ML305nNG;_ylv=3?qid=20121004094847AAjekoj
成为这个:
http://answers.yahoo.com/question/answer?qid=20121004094847AAjekoj
我知道有一些方法可以用.htaccess
重写链接,但在这种情况下,它需要是一个Greasemonkey脚本,因为任务将在我访问的网站上完成,而不是我的网站。
答案 0 :(得分:2)
你需要的模式是:
/(http:\/\/answers.yahoo.com\/questions\/)index.*(?qid=.*)$/i
你用这个替换它:
/$1answer$2/
但是,我对Greasemonkey并不是很了解,所以我不能给你更多。希望有更多Greasemonkey知识的人出现并提供更好的答案。
答案 1 :(得分:1)
一般情况下,应该这样做(完整GM脚本):
// ==UserScript==
// @name _Replace yahoo-answers links
// @include http://answers.yahoo.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change introduced
in GM 1.0. It restores the sandbox.
*/
var targLinks = $("a[href*='question/index']");
targLinks.each ( function () {
if (/\bqid=\w+/i.test (this.href) ) {
var newHref = this.href
var newPath = this.pathname.replace (/\/question\/index.+$/, "/question/answer");
var newURL = this.protocol + "//"
+ this.host
+ newPath
+ this.search
+ this.hash
;
this.href = newURL;
}
} );
答案 2 :(得分:0)
替换
/(http:\/\/answers\.yahoo\.com\/question)\/index.+[?&]qid=([^&#]+)/g
与
"$1/answer?quid=$2"