Avatar billede mungojerrie Nybegynder
24. april 2004 - 22:44 Der er 16 kommentarer og
1 løsning

script til at lave link, som kan gemmes i db

Hej

Vil gerne have lavet et link, som jeg får lov til at gemme i min db. Ligenu har jeg problemer med at gemme tekst der indeholder 'href' og 'http'. Derfor har jeg kigget lidt på noget regular expression. Har fundet dette script som umiddelbart virker fint, men jeg vil gerne have mulighed for at angive et andet navn på linket end selve url'en. Kan nogen hjælpe ?

function MakeHREF($string) {
$str = '[url]'.$string.'[/url]';
$str = eregi_replace("\[url\](www([^<]+))\[/url\]","<a href=\"http://www\\2\">\\1</a>",$str);
$str = eregi_replace("\[url\]([^<]+)\[/url\]","<a href=\"\\1\">\\1</a>",$str);
return $str;
}
Avatar billede Syska Mester
24. april 2004 - 22:48 #1
lav en table med 3 cols, id,navn,link i din db
Avatar billede mungojerrie Nybegynder
24. april 2004 - 22:58 #2
Du har vist misforstået spørgsmålet
Avatar billede Syska Mester
24. april 2004 - 22:59 #3
explain then
Avatar billede thedeathart Nybegynder
24. april 2004 - 23:02 #4
hvorfor bruger du ikke bare <a href="<? echo"link" ?>"><? echo"link" ?></a>
når du henter linket ud, istedet for at lagre det med http://
Avatar billede mungojerrie Nybegynder
24. april 2004 - 23:02 #5
scriptet skal tilrettes således at det link der bliver dannet giver mig mulighed for at angive et link og et navn på linket, noget i stil med....
<a href="mit link">mit link navn</a>
Avatar billede thedeathart Nybegynder
24. april 2004 - 23:08 #6
brug evt. en form, med mulighederne

link (adresse)
link (navn)

og som så indsætte $navn $adr i en database
Avatar billede mungojerrie Nybegynder
24. april 2004 - 23:11 #7
-> thedeathart
nej tak, vil ikke til at ændre som meget på mit nuværende setup
Avatar billede thedeathart Nybegynder
24. april 2004 - 23:11 #8
eksempel.

//formen

<html>
<head>
</head>
<body>

<form ACTION="sql.php" method="get">
Link (adresse):<input type="text" name="adr"><br>
<br>
Link (navn):<input type="text" name="navn"><br>
<br>
<input type=submit value=Skriv name="submit" >
</form>
</body>

</html>


//sql.php

<?

<?php
$conn = mysql_connect("localhost", "root", "");
mysql_select_db("mtd");

mysql_query("
INSERT INTO dintabel (adr,link) VALUES ('$adr','link'") or die(mysql_error());

?>
Avatar billede Syska Mester
24. april 2004 - 23:12 #9
hmm, synes næsten også det var det jeg startede med at skrive, men nu er svaret da vist kommer i sin fulde længde...
Avatar billede mungojerrie Nybegynder
24. april 2004 - 23:14 #10
Hvis I ikke kan hjælpe med regular expression, så bedes I undlade at komme med kommentarer og svar......
Avatar billede Syska Mester
24. april 2004 - 23:20 #11
how how, vi hjælper, du spørger om at gemme link i database med navn, og her er vores svar på din bøn, måske skulle du så angive et lidt anden emne navn så....
Avatar billede mungojerrie Nybegynder
24. april 2004 - 23:24 #12
hvis du læser efter, så har jeg jo fået scriptet til at klare opgaven med at gemme i databasen, problemet er blot jeg ikke kan angive et andet navn på linket end selve url'en i det script som jeg har postet. Har altså ingen problemer med at gemme i db, det havde jeg da jeg ikke brugte scriptet........
Avatar billede Syska Mester
24. april 2004 - 23:28 #13
hvis URL'en kommer fra en form, kan du angive et felt mere til navnet, og smide det ind når du samler strengen.

Men kan slet ikke se hvorfor du bruge den de ideer som er postet da de virker meget mere simplere
Avatar billede dennismp Nybegynder
25. april 2004 - 00:30 #14
Hvordan kalder du funktionen?

1) MakeHREF("www.exp.dk") ?

eller kaldes den med en tekst som

2) makehref("asdfasdfj alsjdf  [url]enurl.com[/url]") ?

Hvis det er nr1, så kan den gøres meget mere simpel. Hvis det er nummer to, så forstår jeg ikke denne linje: $str = '[url]'.$string.'[/url]';
Avatar billede mungojerrie Nybegynder
25. april 2004 - 09:10 #15
den kaldes sådan:

$string = 'http://www.ni.dk';
$nystring = MakeHREF($string);
Avatar billede dennismp Nybegynder
25. april 2004 - 10:38 #16
Prøv dette.

function MakeHREF($url,$title=null) {
  if( $title === null )
    return '<a href="'.$url.'">'.$url.'</a>';
  else
    return '<a href="'.$url.'">'.$title.'</a>';
}

$nystring = MakeHREF('http://www.exp.dk');  // uden titel
$nystring = MakeHREF('http://www.exp.dk','Eksperten);  // med titel
Avatar billede mungojerrie Nybegynder
25. april 2004 - 11:25 #17
Bortset fra et manglende '  så virker det jo, spanks!
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