---
title: "url function"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/41264-url-function"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "aleborg"
published: "2002-04-09T22:32:07.000Z"
updated: "2002-08-09T22:33:50.000Z"
replies: 19
views: 342
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/41264-url-function"
---

# url function

## #1 — aleborg, 2002-04-09T22:32Z

Har ett script som ser ut så här:

```
<script language="javascript1.2" runat=server>
function edit_hrefs(s_html){
// use regular expressions to look for 
// e_mail addresses and urls
s_str = new String(s_html);

s_str = s_str.replace(/\bhttp\:\/\/www(\.[\w+\.\:\/\_]+)/gi, 
"http\:\/\/¬¤¸$1");

s_str = s_str.replace(/\b(http\:\/\/\w+\.[\w+\.\:\/\_]+)/gi,
"<a href=\"$1\" target='_blank'>$1<\/a>");

s_str = s_str.replace(/\b(www\.[\w+\.\:\/\_]+)/gi, 
"<a href=\"http://$1\" target='_blank'>$1</a>");

s_str = s_str.replace(/\bhttp\:\/\/¬¤¸(\.[\w+\.\:\/\_]+)/gi,
"<a href=\"http\:\/\/www$1\" target='_blank'>http\:\/\/www$1</a>");

s_str = s_str.replace(/([\w\.]+@[\w+\.?]*)/gi, 
"<a href=\"mailto\:$1\" target='_blank'>$1</a>");

return s_str;
}
</script>
```

men om en url innehåller flera \_ så bryts länken och om länken innehåller - så bryts den också! hur ska scriptet se ut?

Permalänk: https://www.webforum.nu/p/41264

## #2 — Jojoxx, 2002-04-10T06:04Z

Prova så här;

```
function edit_hrefs(s_html){
// use regular expressions to look for 
// e_mail addresses and urls
s_str = new String(s_html);

s_str = s_str.replace(/\bhttp\:\/\/www(\.[\w+\.\:\/\_]+)/gi, 
"http\:\/\/¬¤¸$1");

s_str = s_str.replace(/\b(http\:\/\/\w+\.[\w+\.\:\/\_]+)/gi,
"<a href=\"$1\" target='_blank'>$1<\/a>");

s_str = s_str.replace(/\b(www\.[\w+\.\:\/\_]+)/gi, 
"<a href=\"http://$1\" target='_blank'>$1</a>");

s_str = s_str.replace(/\bhttp\:\/\/¬¤¸(\.[\S+\.\:\/\_]+)/gi,
"<a href=\"http\:\/\/www$1\" target='_blank'>http\:\/\/www$1</a>");

s_str = s_str.replace(/([\w\.]+@[\w+\.?]*)/gi, 
"<a href=\"mailto\:$1\" target='_blank'>$1</a>");

return s_str;
}
```

Permalänk: https://www.webforum.nu/p/640672

## #3 — aleborg, 2002-04-10T09:18Z

den klipper vid första -

Permalänk: https://www.webforum.nu/p/640725

## #4 — Jojoxx, 2002-04-10T10:38Z

Ahh... jag testade bara med en http-länk. Prova detta;

```
function edit_hrefs(s_html){
// use regular expressions to look for 
// e_mail addresses and urls
s_str = new String(s_html);

s_str = s_str.replace(/\bhttp\:\/\/www(\.[\w+\.\:\/\_]+)/gi, 
"http\:\/\/¬¤¸$1");

s_str = s_str.replace(/\b(http\:\/\/\w+\.[\w+\.\:\/\_]+)/gi,
"<a href=\"$1\" target='_blank'>$1<\/a>");

s_str = s_str.replace(/\b(www\.[\w+\.\:\/\_]+)/gi, 
"<a href=\"http://$1\" target='_blank'>$1</a>");

s_str = s_str.replace(/\bhttp\:\/\/¬¤¸(\.[\S+\.\:\/\_]+)/gi,
"<a href=\"http\:\/\/www$1\" target='_blank'>http\:\/\/www$1</a>");

s_str = s_str.replace(/([\S\.]+@[\S+\.?]*)/gi, 
"<a href=\"mailto\:$1\" target='_blank'>$1</a>");

return s_str;
}
```

Permalänk: https://www.webforum.nu/p/640762

## #5 — aleborg, 2002-04-10T13:16Z

nix den klipper fortfarande på - på http länkar
<http://www.spelar.nu/contact.htm>

Permalänk: https://www.webforum.nu/p/640825

## #6 — eas, 2002-04-10T14:01Z

En liten instcksfråga:
**Vad menas med runat=server? Hur funkar det?**

Permalänk: https://www.webforum.nu/p/640861

## #7 — Jojoxx, 2002-04-10T14:55Z

Precis som det antyder är det ett scriptblock som skall köras på servern. Du kan alltså skriva en ASP-sida där du normalt använder vbscript, men sedan kanske du vill utnyttja en funktion du har skrivit i JavaScript, vilket du kan göra på detta vis. Själva script-blocket kommer sedan (precis som resterande ASP-kod) att plockas bort från det data (resten av sidan) som skickas till användaren och bara ev. output från scriptet blir kvar. Försöker du däremot använda det på en vanlig html-sida som inte server-parse'as kommer koden att följa med till användaren.

Permalänk: https://www.webforum.nu/p/640895

## #8 — eas, 2002-04-10T17:34Z

**Wao!** 
Jag trodde JavaScript bara gick att köra client-side.

Permalänk: https://www.webforum.nu/p/640975

## #9 — aleborg, 2002-04-10T17:48Z

Någon som vet svaret på min fråga?

Permalänk: https://www.webforum.nu/p/640985

## #10 — Jojoxx, 2002-04-10T18:15Z

Sorry, missade ditt inlägg emellan. Missade även att prova med bara www istället för <http://www.>

```
function edit_hrefs(s_html){
// use regular expressions to look for 
// e_mail addresses and urls
s_str = new String(s_html);

s_str = s_str.replace(/\bhttp\:\/\/www(\.[\w+\.\:\/\_]+)/gi, 
"http\:\/\/¬¤¸$1");

s_str = s_str.replace(/\b(http\:\/\/\w+\.[\w+\.\:\/\_]+)/gi,
"<a href=\"$1\" target='_blank'>$1<\/a>");

s_str = s_str.replace(/\b(www\.[\S+\.\:\/\_]+)/gi, 
"<a href=\"http://$1\" target='_blank'>$1</a>");

s_str = s_str.replace(/\bhttp\:\/\/¬¤¸(\.[\S+\.\:\/\_]+)/gi,
"<a href=\"http\:\/\/www$1\" target='_blank'>http\:\/\/www$1</a>");

s_str = s_str.replace(/([\S\.]+@[\S+\.?]*)/gi, 
"<a href=\"mailto\:$1\" target='_blank'>$1</a>");

return s_str;
}
```

[Exempel](http://www.jojoxx.net/wftest.html)

Permalänk: https://www.webforum.nu/p/640995

## #11 — aleborg, 2002-04-10T18:36Z

hmm, det funkar inte hos mig :(
<http://www.spelar.nu/contact.htm>

Permalänk: https://www.webforum.nu/p/641008

## #12 — Jojoxx, 2002-04-10T18:59Z

Scriptet är hårdstyrt till www, inte ww.

Detta blir inte vackert, men det bjuder vi på. Orkar inte slita mer än nödvändigt :)

```
function edit_hrefs(s_html){
// use regular expressions to look for 
// e_mail addresses and urls
s_str = new String(s_html);

if(s_str.toLowerCase().substring(0,7)!="http://"){
s_str = s_str.replace(/\bhttp\:\/\/(\.[\w+\.\:\/\_]+)/gi, 
"http\:\/\/¬¤¸$1");
}

s_str = s_str.replace(/\b(http\:\/\/\S+\.[\w+\.\:\/\_]+)/gi,
"<a href=\"$1\" target='_blank'>$1<\/a>");

if(s_str.substring(0,2)!="<a"){
s_str = s_str.replace(/\b(www\.[\S+\.\:\/\_]+)/gi, 
"<a href=\"http://$1\" target='_blank'>$1</a>");
}

s_str = s_str.replace(/\bhttp\:\/\/¬¤¸(\.[\S+\.\:\/\_]+)/gi,
"<a href=\"http\:\/\/www$1\" target='_blank'>http\:\/\/www$1</a>");

s_str = s_str.replace(/([\S\.]+@[\S+\.?]*)/gi, 
"<a href=\"mailto\:$1\" target='_blank'>$1</a>");

return s_str;
}
```

Permalänk: https://www.webforum.nu/p/641020

## #13 — aleborg, 2002-04-10T19:16Z

Tack  Jojoxx men det tidigare funkade, missade att jag hade skrivit ww istället för www  :r  :r  :r

Permalänk: https://www.webforum.nu/p/641032

## #14 — Jesper T, 2002-08-09T22:19Z

hur lägger man in denna funktion i ett textstycke då?

Permalänk: https://www.webforum.nu/p/747489

## #15 — Nickemannen, 2002-08-09T22:22Z

Response.Write edit_hrefs(strTextStycke)

Permalänk: https://www.webforum.nu/p/747494

## #16 — Jesper T, 2002-08-09T22:23Z

Ööööhhhh... Är inte detta ett javascript?

Permalänk: https://www.webforum.nu/p/747497

## #17 — Nickemannen, 2002-08-09T22:24Z

den första koden ja.

inte den sista ;)

Permalänk: https://www.webforum.nu/p/747499

## #18 — Nickemannen, 2002-08-09T22:27Z

eller jo det är det ja.... arghh såhär gör du då

\<Script language="javascript1.2"\>
function edit_hrefs(s_html){
// use regular expressions to look for 
// e_mail addresses and urls
s_str = new String(s_html);

if(s_str.toLowerCase().substring(0,7)!="http://"){
s_str = s_str.replace(/\\bhttp\\:\\/\\/(\\.\[\\w+\\.\\:\\/\\\_\]+)/gi, 
"http\\:\\/\\/¬¤¸$1");
}

s_str = s_str.replace(/\\b(http\\:\\/\\/\\S+\\.\[\\w+\\.\\:\\/\\\_\]+)/gi,
"\<a href=\\"$1\\" target='\_blank'\>$1\<\\/a\>");

if(s_str.substring(0,2)!="\<a"){
s_str = s_str.replace(/\\b(www\\.\[\\S+\\.\\:\\/\\\_\]+)/gi, 
"\<a href=\\"http://$1\\" target='\_blank'\>$1\</a\>");
}

s_str = s_str.replace(/\\bhttp\\:\\/\\/¬¤¸(\\.\[\\S+\\.\\:\\/\\\_\]+)/gi,
"\<a href=\\"http\\:\\/\\/www$1\\" target='\_blank'\>http\\:\\/\\/www$1\</a\>");

s_str = s_str.replace(/(\[\\S\\.\]+@\[\\S+\\.?\]\*)/gi, 
"\<a href=\\"mailto\\:$1\\" target='\_blank'\>$1\</a\>");

return s_str;
}

var strTextStycke = "Text blabla blabakbkabkabkkjfsdfjk";
document.write(edit_hrefs(strTextStycke));
\</Script\>

kanske vet ej är inte så haj på javascript

Permalänk: https://www.webforum.nu/p/747501

## #19 — Jesper T, 2002-08-09T22:31Z

Detta funkade utmärkt: Response.Write edit_hrefs(strTextStycke)

Tack, då slapp jag strula med asp-regexp osv. Det funkar perfa!!!

Permalänk: https://www.webforum.nu/p/747504

## #20 — Jesper T, 2002-08-09T22:33Z

Jag kör med run at server också så slipper scriptet stå med i html-koden = smart

Permalänk: https://www.webforum.nu/p/747506

---

Tråden på webben: https://www.webforum.nu/amne/javascript/41264-url-function
