Avatar billede th1 Nybegynder
16. marts 2005 - 11:06 Der er 28 kommentarer og
1 løsning

lave link til klikbart link

Hejsa eksperter jeg vil gerne lave et script som laver det at hvis jeg skriver http:// i min nyhed at så laver den et klik bart link som åbnes i nyt vindue og hvor jeg kan vælge om linket skal kunne åbnes i nyt vindue eller ej .

Håber nogen ved om en guide eller kan måske hjælpe mig i gang :)

på forhånd tak

m.v.h. th1
Avatar billede jakobdo Ekspert
16. marts 2005 - 12:12 #1
$nytekst = preg_replace('/(http:\/\/.+?) /', '<a href="$1">$1</a>', $tekst);
Avatar billede th1 Nybegynder
16. marts 2005 - 12:26 #2
mystisk nok virker det ikke :(
Avatar billede exp Juniormester
16. marts 2005 - 12:28 #3
http://www.ljweb.com/usefulscripts/ <== tagster_lib.php benyttes på eksperten (om end i lidt modificeret grad)
Avatar billede th1 Nybegynder
16. marts 2005 - 12:33 #4
jeg har prøvet det et par gange men uden held... så må jeg bare prøve videre  ;)
Avatar billede jakobdo Ekspert
16. marts 2005 - 12:34 #5
Prøv at vis mig den tekst du sender ind som $tekst!
Avatar billede th1 Nybegynder
16. marts 2005 - 12:41 #6
jeg går ud fra at det er det her som du mener:

<b>".$newsrow['emne']." - Dato: ".$newsrow['dato']."</b><br />

";



$text = htmlspecialchars($newsrow['nyhed']);

$text = str_replace(":D", "<img src=\"smilie/icon_biggrin.gif\">", $text);

$text = str_replace(":S", "<img src=\"smilie/icon_confused.gif\">", $text);

$text = str_replace(":8", "<img src=\"smilie/icon_cool.gif\">", $text);

$text = str_replace(":cr", "<img src=\"smilie/icon_cry.gif\">", $text);

$text = str_replace(":¨", "<img src=\"smilie/icon_eek.gif\">", $text);

$text = str_replace(":e", "<img src=\"smilie/icon_evil.gif\">", $text);

$text = str_replace("!", "<img src=\"smilie/icon_exclaim.gif\">", $text);

$text = str_replace(":i", "<img src=\"smilie/icon_idea.gif\">", $text);

$text = str_replace(":l", "<img src=\"smilie/icon_lol.gif\">", $text);

$text = str_replace(":[", "<img src=\"smilie/icon_mad.gif\">", $text);

$text = str_replace(":|", "<img src=\"smilie/icon_neutral.gif\">", $text);

$text = str_replace("?", "<img src=\"smilie/icon_question.gif\">", $text);

$text = str_replace(":r", "<img src=\"smilie/icon_razz.gif\">", $text);

$text = str_replace(":f", "<img src=\"smilie/icon_redface.gif\">", $text);

$text = str_replace(":re", "<img src=\"smilie/icon_rolleyes.gif\">", $text);

$text = str_replace(":(", "<img src=\"smilie/icon_sad.gif\">", $text);

$text = str_replace(":)", "<img src=\"smilie/icon_smile.gif\">", $text);

$text = str_replace(":O", "<img src=\"smilie/icon_surprised.gif\">", $text);

$text = str_replace(":tw", "<img src=\"smilie/icon_twisted.gif\">", $text);

$text = str_replace(";)", "<img src=\"smilie/icon_wink.gif\">", $text);

$text = nl2br($text);

echo $text;
Avatar billede jakobdo Ekspert
16. marts 2005 - 13:07 #7
Har du evt mulighed for at give mig hvad $text indeholder efter du har kaldt denne:

$text = htmlspecialchars($newsrow['nyhed']);
Avatar billede th1 Nybegynder
16. marts 2005 - 13:24 #8
øhm nu forstår jeg desværre ikke hvad du mener :S ?? måske du kan lave et lille eksempel:
Avatar billede jakobdo Ekspert
16. marts 2005 - 13:44 #9
Prøv at ret din kode til:

$text = htmlspecialchars($newsrow['nyhed']);

echo $text;
Avatar billede th1 Nybegynder
16. marts 2005 - 13:48 #10
nej for vil gerne have smilies :)
Avatar billede jakobdo Ekspert
16. marts 2005 - 14:05 #11
Det er for at jeg kan hjælpe dig din hat! ;)
Avatar billede th1 Nybegynder
16. marts 2005 - 14:08 #12
nå oki det prøver jeg så  hehe  dumme mig hehe
Avatar billede th1 Nybegynder
16. marts 2005 - 14:25 #13
ja jeg har prøvet det som du sagde og mit indhld kommer men ikke de der auto link
Avatar billede jakobdo Ekspert
16. marts 2005 - 14:43 #14
Jeg vil se output!
Paste der herind!
Avatar billede th1 Nybegynder
16. marts 2005 - 14:46 #15
jamen her er lidt output

ja test igen - Dato: 16-03-2005, 13:49:59

test http://www.iceo.dk !
Avatar billede jakobdo Ekspert
16. marts 2005 - 20:17 #16
Det virker mærkeligt...
Det kode jeg gav dig før, skulle altså virke! :o(
Avatar billede th1 Nybegynder
16. marts 2005 - 22:23 #17
hejsa jeg er lige kommet og besluttede mig for at teste en gang til..

min ser sådan ud nu:

.$newsrow['emne']." - Dato: ".$newsrow['dato']."</b><br />

";


$text = htmlspecialchars($newsrow['nyhed']);

$text = str_replace(":D", "<img src=\"smilie/icon_biggrin.gif\">", $text);

$text = str_replace(":S", "<img src=\"smilie/icon_confused.gif\">", $text);

$text = str_replace(":8", "<img src=\"smilie/icon_cool.gif\">", $text);

$text = str_replace(":cr", "<img src=\"smilie/icon_cry.gif\">", $text);

$text = str_replace(":¨", "<img src=\"smilie/icon_eek.gif\">", $text);

$text = str_replace(":e", "<img src=\"smilie/icon_evil.gif\">", $text);

$text = str_replace("!", "<img src=\"smilie/icon_exclaim.gif\">", $text);

$text = str_replace(":i", "<img src=\"smilie/icon_idea.gif\">", $text);

$text = str_replace(":l", "<img src=\"smilie/icon_lol.gif\">", $text);

$text = str_replace(":[", "<img src=\"smilie/icon_mad.gif\">", $text);

$text = str_replace(":|", "<img src=\"smilie/icon_neutral.gif\">", $text);

$text = str_replace("?", "<img src=\"smilie/icon_question.gif\">", $text);

$text = str_replace(":r", "<img src=\"smilie/icon_razz.gif\">", $text);

$text = str_replace(":f", "<img src=\"smilie/icon_redface.gif\">", $text);

$text = str_replace(":re", "<img src=\"smilie/icon_rolleyes.gif\">", $text);

$text = str_replace(":(", "<img src=\"smilie/icon_sad.gif\">", $text);

$text = str_replace(":)", "<img src=\"smilie/icon_smile.gif\">", $text);

$text = str_replace(":O", "<img src=\"smilie/icon_surprised.gif\">", $text);

$text = str_replace(":tw", "<img src=\"smilie/icon_twisted.gif\">", $text);

$text = str_replace(";)", "<img src=\"smilie/icon_wink.gif\">", $text);

$text = preg_replace('/(http:\/\/.+?) /', '<a href="$newsrow[nyhed]">$newsrow[nyhed]</a>', $text);

$text = nl2br($text);

echo $text;

og det kommer det her output:

ja test igen - Dato: 16-03-2005, 13:49:59
test $newsrow[nyhed]


nu ser det ud til at virke bare at jeg gører noget forkert :S
Avatar billede jakobdo Ekspert
17. marts 2005 - 07:56 #18
Virker det nu eller?

Prøv dette:

$text = htmlspecialchars($newsrow['nyhed']);

$text = str_replace(":D", "<img src=\"smilie/icon_biggrin.gif\">", $text);

$text = str_replace(":S", "<img src=\"smilie/icon_confused.gif\">", $text);

$text = str_replace(":8", "<img src=\"smilie/icon_cool.gif\">", $text);

$text = str_replace(":cr", "<img src=\"smilie/icon_cry.gif\">", $text);

$text = str_replace(":¨", "<img src=\"smilie/icon_eek.gif\">", $text);

$text = str_replace(":e", "<img src=\"smilie/icon_evil.gif\">", $text);

$text = str_replace("!", "<img src=\"smilie/icon_exclaim.gif\">", $text);

$text = str_replace(":i", "<img src=\"smilie/icon_idea.gif\">", $text);

$text = str_replace(":l", "<img src=\"smilie/icon_lol.gif\">", $text);

$text = str_replace(":[", "<img src=\"smilie/icon_mad.gif\">", $text);

$text = str_replace(":|", "<img src=\"smilie/icon_neutral.gif\">", $text);

$text = str_replace("?", "<img src=\"smilie/icon_question.gif\">", $text);

$text = str_replace(":r", "<img src=\"smilie/icon_razz.gif\">", $text);

$text = str_replace(":f", "<img src=\"smilie/icon_redface.gif\">", $text);

$text = str_replace(":re", "<img src=\"smilie/icon_rolleyes.gif\">", $text);

$text = str_replace(":(", "<img src=\"smilie/icon_sad.gif\">", $text);

$text = str_replace(":)", "<img src=\"smilie/icon_smile.gif\">", $text);

$text = str_replace(":O", "<img src=\"smilie/icon_surprised.gif\">", $text);

$text = str_replace(":tw", "<img src=\"smilie/icon_twisted.gif\">", $text);

$text = str_replace(";)", "<img src=\"smilie/icon_wink.gif\">", $text);

$text = preg_replace('/(http:\/\/.+?) /', '<a href="$1">$1</a>', $text);

$text = nl2br($text);

echo $text;
Avatar billede th1 Nybegynder
17. marts 2005 - 12:22 #19
wee det virker nu "jakobdo" kan du ikke lige lægge et svar så kan du få dine points :P
og mange tak for hjælp og tid :)
Avatar billede jakobdo Ekspert
17. marts 2005 - 12:35 #20
Svar!
Avatar billede th1 Nybegynder
17. marts 2005 - 13:56 #21
jeg kom lige i tanke om men kan vel godt lave en funktion at man kan vælge om linket skal åbens i et nyt vindue eller ej ??

m.v.h. th1
Avatar billede jakobdo Ekspert
17. marts 2005 - 14:00 #22
Du kunne bruge denne:

funktion convertLink($input,$target="")
{
    if($target != "")
    {
        $output = preg_replace('/(http:\/\/.+?) /', '<a target="'.$target.'" href="$1">$1</a>', $text);   
    }
    else
    {
        $output = preg_replace('/(http:\/\/.+?) /', '<a href="$1">$1</a>', $text);   
    }
    return $output;
}
Avatar billede jakobdo Ekspert
17. marts 2005 - 14:01 #23
convertLink($text); vil give som nu!
convertLink($text,"_blank"); vil gøre at den åbner i ny side.
Avatar billede th1 Nybegynder
17. marts 2005 - 14:25 #24
oki  men hvordan gør jeg det så at jeg kan for eksempel klikke på der hvor jeg opretter en nyhed  Åbn linket i nyt vindue??
Avatar billede jakobdo Ekspert
17. marts 2005 - 14:30 #25
Jeg er ikke med?
Avatar billede th1 Nybegynder
17. marts 2005 - 14:32 #26
altså  jeg vil gerne have en mulighed for at kunne vælge om linket skal åbens i et nyt vinde eller ej... dvs så kunne jeg for eksempel sætte et flueben i Åbn linket i et nyt vindue
Avatar billede exp Juniormester
17. marts 2005 - 14:35 #27
Du laver et ekstra felt i databasen (vi kunne kalde det "target"), og indholdet af dette felt indsætter du så i convertLink($text,$target)

Når du opretter nyheden, checker du for flueben i afkrydsningsfeltet "target". Hvis det er sat, skal scriptet indsætte "_blank" i databasen, hvis ikke skal den ikke indsætte noget.
Avatar billede th1 Nybegynder
17. marts 2005 - 14:43 #28
oki det prøver jeg .... er ikke sikker på om jeg kan finde ud af det :$
Avatar billede th1 Nybegynder
17. marts 2005 - 15:08 #29
hejsa jeg har prøvet men jeg får denne fejl:

Parse error: parse error, unexpected T_STRING


det er min kode:

$text = htmlspecialchars($newsrow['nyhed']);

$text = str_replace(":D", "<img src=\"smilie/icon_biggrin.gif\">", $text);

$text = str_replace(":S", "<img src=\"smilie/icon_confused.gif\">", $text);

$text = str_replace(":8", "<img src=\"smilie/icon_cool.gif\">", $text);

$text = str_replace(":cr", "<img src=\"smilie/icon_cry.gif\">", $text);

$text = str_replace(":¨", "<img src=\"smilie/icon_eek.gif\">", $text);

$text = str_replace(":e", "<img src=\"smilie/icon_evil.gif\">", $text);

$text = str_replace("!", "<img src=\"smilie/icon_exclaim.gif\">", $text);

$text = str_replace(":i", "<img src=\"smilie/icon_idea.gif\">", $text);

$text = str_replace(":l", "<img src=\"smilie/icon_lol.gif\">", $text);

$text = str_replace(":[", "<img src=\"smilie/icon_mad.gif\">", $text);

$text = str_replace(":|", "<img src=\"smilie/icon_neutral.gif\">", $text);

$text = str_replace("?", "<img src=\"smilie/icon_question.gif\">", $text);

$text = str_replace(":r", "<img src=\"smilie/icon_razz.gif\">", $text);

$text = str_replace(":f", "<img src=\"smilie/icon_redface.gif\">", $text);

$text = str_replace(":re", "<img src=\"smilie/icon_rolleyes.gif\">", $text);

$text = str_replace(":(", "<img src=\"smilie/icon_sad.gif\">", $text);

$text = str_replace(":)", "<img src=\"smilie/icon_smile.gif\">", $text);

$text = str_replace(":O", "<img src=\"smilie/icon_surprised.gif\">", $text);

$text = str_replace(":tw", "<img src=\"smilie/icon_twisted.gif\">", $text);

$text = str_replace(";)", "<img src=\"smilie/icon_wink.gif\">", $text);

funktion convertLink($input,$target="")
{
    if($target != "")
    {
        $output = preg_replace('/(http:\/\/.+?) /', '<a target="'.$target.'" href="$1">$1</a>', $text);   
    }
    else
    {
        $output = preg_replace('/(http:\/\/.+?) /', '<a href="$1">$1</a>', $text);   
    }
    return $output;
}

$text = nl2br($text);

echo $text;

kan self godt være jeg sætter functionen forkert ind :S
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