[Greasemonkey] Re: newsbie-question how to change and replace a link with greasemonkey

Andre gm at andrecgn.de
Mon Feb 6 13:49:53 EST 2006


Since you are using quotes, it should have been: "\\?". sorry, my fault.

For just a single replace:

	"^.*/data/": "http://www.abc.de/data/"

Here is some more information on RegEx:
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:RegExp

Andre

Tina Weller wrote:
> Sorry, but the tip "\?" did not work. Perhaps another workaround is
> possible:
> 
> At the moment the webpage contains links like this
> 
> http://www.xyz.de?=vpath/data/index.php
> 
> what I need is to change this into
> 
> http://www.abc.de/data/index.php
> 
> If it would be possible to tell greasemonkey to "Replace everything before
> /data through http://www.abc.de/"
> then I would not have the problem with the questionmark. Whiche lines in my
> script to I have to change, to reach this goal?
> 
> Thanks a lot for your help
> 
> Tina
> 
> 
> 
> 
> 2006/2/6, Tina Weller <blond.woman at googlemail.com>:
>> The instructions Neil gave me worked very fine. I have online one last
>> problem. How can I replace a "?". I have to replace a Questionmark through
>> nothing. The line looks like this:
>>
>> "?": "",
>>
>> If I have this line in the script, the whole script does not work. If I
>> delete it, it works pretty fine! So I guess there is a problem replacing the
>> "?". Can anyone help me?
>>
>> Tina
>>
>>
>>
>> (function() {
>>     var replacements, regex, key, linknodes, link, linkUri, linkText, i,
>> s;
>>     replacements = {
>>
>>          "%2F": "/",
>>          "%5F": "_",
>>          "bib/": "",
>>          "default.asp": "",
>>          "vpath=/": "",
>>          "?": "",
>>         "%2E": "."};
>>
>>     regex = {};
>>     for (key in replacements) {
>>         regex[key] = new RegExp(key, 'g');
>>     }
>>
>>     linknodes = document.evaluate(
>>         "//a",
>>         document,
>>         null,
>>         XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
>>         null);
>>
>> for (var i = 0; i < linknodes.snapshotLength; i++) {
>>    link = linknodes.snapshotItem(i);
>>    s = link.href;
>>
>>         for (key in replacements) {
>>             s = s.replace(regex[key], replacements[key]);
>>         }
>>         link.href = s;
>>
>> }
>> })();
>>
>>
>>
>>
>>
>>
>>
>> 2006/2/6, Neil Greenwood <neil.greenwood.lists at gmail.com>:
>>> On 06/02/06, Neil Greenwood <neil.greenwood.lists at gmail.com > wrote:
>>>> On 05/02/06, Tina Weller <blond.woman at googlemail.com> wrote:
>>>> Hi Tina,
>>>>
>>>>     null);
>>>>
>>>>
>>>> It's the line above, which gets all the text nodes. This means it gets
>>> all
>>>> the text in the document (including extra whitespace), but not the
>>> text or
>>>> URLs of links.
>>>>
>>>> Sorry, this is wrong. The original script *does* get the text of the
>>> links, just not the URLs.
>>>
>>> Neil.
>>> _______________________________________________
>>> Greasemonkey mailing list
>>> Greasemonkey at mozdev.org
>>> http://mozdev.org/mailman/listinfo/greasemonkey
>>>
>>



More information about the Greasemonkey mailing list