---
title: "Säker URl konvertering"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/16434-säker-url-konvertering"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "HDJHSKGDKJHSD"
published: "2001-12-16T14:52:00.000Z"
updated: "2001-12-16T21:28:00.000Z"
replies: 6
views: 240
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/php/16434-säker-url-konvertering"
---

# Säker URl konvertering

## #1 — HDJHSKGDKJHSD, 2001-12-16T14:52Z

Tjo..

Hur gör man en bombsäker funktion för att parsa vanliga \[a href=url\]text\[/a\]

till \[a href=url target=nysida\]text\[/a\]

samt att göra <http://urlgoeshere> 

till \[a href=url target=nysida\]urlgoesherewithouthttp\[/a\] ?

Jag skrev med \[\] bara för jag visste inte hur forumet skulle reagera på \<\> :)

tack på förhand  !

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

## #2 — SPiN, 2001-12-16T15:26Z

För att göra http-, ftp-, https-, m.fl. samt mailto: till klickbara länkar, hittade jag ett pattern gjort av emission under wF-script som jag modifierade för PHP. Hoppas det funkar, har inte testat själv.

```
$str = preg_replace ( "(^&#0124;[^\"])(http:\/\/&#0124;https:\/\/&#0124;ftp:\/\/&#0124;mailto:&#0124;file:\/\/&#0124;telnet:\/\/&#0124;gopher:\/\/)([\w\/#~:.,?+=&%@!\\-]*?)([\s.:?\\-]*[^\w\/#~:.,?+=&%@!\\-]&#0124;$)", "\\1<a href=\"\\2\\3\" target=\"blank\">\\2\\3</a>\\4", strtolower ( $str ) );
```

För att göra om \[a=http://whatever/\]text\[/a\] till länkar, hittade jag i samma script ( som var 'wF-kod'-scriptet ) detta.

```
$str = preg_replace ( "\[a=([^\]]*?)\]((.&#0124;\s)*?)\[\/url\]", "<a href=\"http://\\1\">\\2</a>", $str );
```

Säg till om de funkar eller ej! :)

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

## #3 — HDJHSKGDKJHSD, 2001-12-16T15:35Z

Warning: Unknown modifier '(' in /Library/WebServer/Documents/konv.php on line 32

Line 32 är då ditt pattern :-P
(det övre :) )

\[Redigerat av HDJHSKGDKJHSD den 16 dec 2001\]

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

## #4 — SPiN, 2001-12-16T15:56Z

Hm, det finns ju inget ' med i mönstret. :q
Du har inte pillat in ett av misstag?

Annars kanske detta duger, borde funka likadant:

```
$str = preg_replace ( "/((http:\/\/&#0124;https:\/\/&#0124;ftp:\/\/&#0124;mailto:&#0124;file:\/\/&#0124;telnet:\/\/&#0124;gopher:\/\/)&#0124;(www\.))([\w\.]+)/i", "<a href=\"\\2\\3\\4\">\\2\\3\\4</a>", $str );
```

Den andra bör se ut så här istället:

```
$str = preg_replace ( "/\[a=([^\]]*?)\]((.&#0124;\s)*?)\[\/url\]/i", "<a href=\"http://\\1\">\\2</a>", $str );
```

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

## #5 — HDJHSKGDKJHSD, 2001-12-16T20:25Z

tackar!

$str = preg_replace ( "/((http:\\/\\/&#0124;https:\\/\\/&#0124;ftp:\\/\\/&#0124;mailto:&#0124;file:\\/\\/&#0124;telnet:\\/\\/&#0124;gopher:\\/\\/)&#0124;(www\\.))(\[\\w\\.\]+)/i", "\<a href=\\"\\\\2\\\\3\\\\4\\"\>\\\\2\\\\3\\\\4\</a\>", $str );

funkade "nästan" perfekt.. om man skriver t.ex <http://server.c/index.php> 

så blir bara <http://server.c>  en länk..
d.v.s \</a\> kommer före /index.php istället för efter :)

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

## #6 — SPiN, 2001-12-16T21:08Z

Hm, testa:

```
$str = preg_replace ( "/((http:\/\/&#0124;https:\/\/&#0124;ftp:\/\/&#0124;mailto:&#0124;file:\/\/&#0124;telnet:\/\/&#0124;gopher:\/\/)&#0124;(www\.))([\w\.\/\?]+)/i", "<a href=\"\\2\\3\\4\">\\2\\3\\4</a>", $str );
```

 :)

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

## #7 — HDJHSKGDKJHSD, 2001-12-16T21:28Z

tack!

funkade perfekt !
:-D

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

---

Tråden på webben: https://www.webforum.nu/amne/php/16434-säker-url-konvertering
