---
title: "regexp för \"autolänkning\"?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/19371-regexp-för-autolänkning"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "Joakim"
published: "2001-06-02T11:26:00.000Z"
updated: "2001-06-04T19:05:00.000Z"
replies: 7
views: 263
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/programmering/19371-regexp-för-autolänkning"
---

# regexp för "autolänkning"?

## #1 — Joakim, 2001-06-02T11:26Z

Tjo!

Sitter o pillar lite med en chat, HTML i inläggen är inte tillåtna men jag vill att om någon skriver "http://www.whatever.nåt" skall det skrivas ut som en länk, alltså "\<A HREF="http://www.whatever.nåt"\>http://www.whatever.nåt\</A\> likadant med mailadresser. om nån skriver "mittnamn@whatever.nåt" skall det skrivas ut som "\<A HREF="mailto:mittnamn@whatever.nåt"\>mailto:mittnamn@whatever.nåt\</A\>" är inte så hemma på regexp (än) så att jag kan fixa detta så det funkar smärtfritt. Men det finns säkert nån som är en fena på det här? =)

Trevlig helg!

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

## #2 — Jojoxx, 2001-06-04T09:29Z

Om vi tänker oss att du har texten i variabeln $html;

```
# Först URL'er.
foreach ($html =~ /http:\/\/(.*?)\s/ig){ $html =~ s/http:\/\/$_/<a href="http:\/\/$_">http:\/\/$_<\/a>/ig; }
# Sedan giltiga e-post adresser.
foreach ($html =~ /(\S*)/ig){ if(length()>5&&index($_,'@')>0&&rindex($_,'.')>index($_,'@')+1){ $html =~ s/$_/<a href="mailto:$_">$_<\/a>/ig; } }
```

\--- Tillägg ---
Sista **foreach** fram till **}** skall vara på en och samma rad.

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

## #3 — Joakim, 2001-06-04T09:43Z

Hej!

Tack för svaret!
För mailadresser funkar det fint men URL'er förblir olänkade.

// Joakim

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

## #4 — Jojoxx, 2001-06-04T10:49Z

Det var konstigt. Du är säker på att du inte missat något när du kopierat koden? Jag lade upp ett test [här](http://www.jojoxx.net/linktest.pl) med exakt samma kod.

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

## #5 — Joakim, 2001-06-04T11:12Z

Ja, det är konstigt =)

Jag har testat hit och dit och det funkar finfint om jag lägger det som skall "autolänkas" som en variabel i scriptet. Men så fort jag skall göra samma sak med data från/till chatten (har testat att lägga det både när ett inlägg postas och skriva med länkningen till databasen och att lägga det när scriptet hämtar inläggen och parsar dom för visnig och köra länkning då) men det vill inte. Funderar på om det kan ha nåt med teckenkodning att göra...

// Joakim

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

## #6 — Jojoxx, 2001-06-04T16:09Z

Tja... det regexpet gör är att leta reda på "http://"+något och slutar med en white-space (mellanslag, radbrytning, tab etc.). Men att ersätta mellanslag till &amp&nbsp; verkar ju lite dumt. Prova att dumpa ut ett inlägg till en text-fil så ser du exakt vad det är för tecken som används.

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

## #7 — Joakim, 2001-06-04T16:15Z

Jag har gjort det, jobbar med textfilsdatabas nämligen, allt "ser" okej ut i textfilen. Alla tecken ser ut som dom bör. Klurigt..

// Joakim

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

## #8 — Jojoxx, 2001-06-04T19:05Z

Jo, men dumpa det data som du använder till regexpen på samma ställe i scriptet (ifall någon form av tecken-konvertering skulle göras av scriptet). Det måste ju skillja något på de tecken som du får in, mot de som du hårdkodar i scriptet när det ena fungerar men inte det andra. Annars vore det magi :)

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

---

Tråden på webben: https://www.webforum.nu/amne/programmering/19371-regexp-för-autolänkning
