Avatar billede raiser Nybegynder
06. oktober 2005 - 22:00 Der er 14 kommentarer og
1 løsning

'link generator'

Hej,
jeg tænkte på, hvordan laver man en function der reagere på www.***.** & http://www.***.** osv. og laver det til links?

Jeg har ledt hist og pist og det har været noget jeg bare ikke har kunne finde så har lavet ting som [link][/link] osv;)

Men hvordan laves det??
det nok noget med alt de der mærkelige tegn: ^09[a-z] osv... Men fatter intet af hvordan funktioner med det i fungere.. Så hjælp lige - på forhånd tak..!!!
Avatar billede sjuker Nybegynder
06. oktober 2005 - 22:12 #1
Du kan nok bruge den her stump kode:

$link = "www.exp.dk";
$link = preg_replace('=([^\s]*)(www.)([^\s]*)=','<a href="http://\\2\\3">\\2\\3</a>', $link);
echo $link;
Avatar billede udvikler Nybegynder
06. oktober 2005 - 22:13 #2
http://dk.php.net/manual/da/function.ereg-replace.php

eller

<?php
function url2link($str) {
  return eregi_replace("((f|ht)tps?://)([a-z0-9@:%_.~#\-\?&-]+)((\=|[a-z0-9]|\?|&|\/|\.|-|:|æ|ø|å)+){0,}",
                      "<a href=\"\\0\">\\0</a>", $str);
}
?>

taget fra http://www.razor.dk/php/funktioner :)
Avatar billede sjuker Nybegynder
06. oktober 2005 - 22:13 #3
$link kan selvfølgelig også være en længere tekst end bare linket. preg_replace skulle gerne matche alle links i variablen og lave dem clickable.
Avatar billede raiser Nybegynder
06. oktober 2005 - 22:28 #4
mange tak, den virker sjuker... svar::)

Men er der en der lige kan fortælle mig, de der tegn noget. Hvordan hænger det sammen. Findes der tutorials til hvordan det er og sådan???
Avatar billede pidgeot Nybegynder
06. oktober 2005 - 22:30 #5
Det kaldes for et regulært udtryk. Foreslår du starter med at læse http://en.wikipedia.org/wiki/Regular_expression, der er også en del eksterne links som du måske vil finde nyttige.
Avatar billede udvikler Nybegynder
06. oktober 2005 - 22:31 #6
Hmm, så bare afvis mit svar og bed sjuker om at lægge et. Men kan jeg ikke lige spørge om hvorfor mit ikke virkede ? :)
Avatar billede raiser Nybegynder
06. oktober 2005 - 22:32 #7
mange tak pidgeot...
Avatar billede raiser Nybegynder
06. oktober 2005 - 22:33 #8
-aco-,
jeg prøvede dit, men kunne ikke få til at virke... Den skrev bare linket som normal tekst og ikke clickbar
Avatar billede udvikler Nybegynder
06. oktober 2005 - 22:34 #9
Det er fordi den kun virker hvis man skriver http:// foran :)
- meb det er da bare helt iorden, ville bare lige høre hvorfor jeg ikke fik respons.
Avatar billede raiser Nybegynder
06. oktober 2005 - 22:35 #10
hehe okay -aco- <- kunne jeg jo ikke vide::)
Avatar billede udvikler Nybegynder
06. oktober 2005 - 22:46 #11
Nej, har du ret i, men du siger også at du har lavat ting som [LINK][/LINK] så burde du også kunne aflæse i koden at den virker med http:// foran :)
- men klager skam ikk. Godt du fandt ud af det, og held og lykke med siden fremover :)
Avatar billede raiser Nybegynder
06. oktober 2005 - 22:53 #12
-aco- <- jeg læste ikke i koden:P
jeg pastede bare:D:D - intet andet.. Sku bare finde den der virkede af de to. Og skrive tilbage her inde..!!
Avatar billede dustie Mester
06. oktober 2005 - 23:31 #13
Hvis du ikke læste koden så så du vel heller ikke at det var en funktion?
Så er der ik noget at sige til det ikke virker.
Avatar billede sjuker Nybegynder
07. oktober 2005 - 00:32 #14
svar
Avatar billede raiser Nybegynder
07. oktober 2005 - 09:12 #15
Dustie ->  jeg læste den self igennem. Alså opbygningen(som var en funktion) men læste ikke i det der regulære udtryk tingel tangel. For det fatter jeg ikke noget af, endnu. Så det gad jeg ikke kigge igennem lige der..::)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester