Avatar billede nich01 Nybegynder
18. januar 2004 - 12:40 Der er 17 kommentarer og
1 løsning

Hvordan undgås at skrive link navn

jeg vil gerne ha teksten til mit link til at være det samme som linket.

<a href="www.test.dk" target="_blank"></a>

i oven stående kommer der slet ikke noget link frem, men hvordan får jeg linket til at fremstå som "www.test.dk" uden at skrive det to gange, som nendenfor???
<a href="www.test.dk" target="_blank">www.test.dk</a>
Avatar billede jakobclausen Nybegynder
18. januar 2004 - 12:43 #1
<a href="http://www.test.dk target="_blank">www.test.dk</a>
Avatar billede jakobclausen Nybegynder
18. januar 2004 - 12:43 #2
Hvad sker der ved at skrive det to gange, det er umiddelbart den eneste og letteste måde
Avatar billede pizzaria Nybegynder
18. januar 2004 - 12:52 #3
<a id="link01" href="http://www.test.dk" target="_blank"><script>document.write(link01.href)</script></a>

Men det er jo ikke ligefrem nemmere.. ;)
Avatar billede skovenborg Nybegynder
18. januar 2004 - 12:55 #4
det er ville være lidt lettere (men ikke særlig browser-compitabelt ;-)
<html>
<head>
<script type="text/javascript">
  function convertLinks()
  {
      for (i=0;i<document.links.length;i++) {
          if (document.links[i].text == '') {
            document.links[i].innerHTML = document.links[i].href;
          }
        }
  }
</script>
</head>
<body onload="convertLinks();">
<a href="www.google.com"></a><br />
<a href="http://www.google.com"></a><br />
<a href="http://www.w3c.org">W3C</a>
</body>
</html>
Avatar billede skovenborg Nybegynder
18. januar 2004 - 12:57 #5
...og så skal du huske at lukke det andet spørgsmål du har kørende ;-)
Avatar billede skovenborg Nybegynder
18. januar 2004 - 12:58 #6
VENT - mit virker ikke i IE. Prøver lige at fikse det.
Avatar billede skovenborg Nybegynder
18. januar 2004 - 13:06 #7
sådan - IE kender åbenbart ikke links[i].text ;-)

<html>
<head>
<script type="text/javascript">
  function convertLinks()
  {
      if (document.body.innerText)
      {
          for (i=0;i<document.links.length;i++) {
                if (document.links[i].innerText == '') {
                  document.links[i].innerText = document.links[i].href;
                }
              }
        }
        else
        {
                for (i=0;i<document.links.length;i++) {
                if (document.links[i].text == '') {
                  document.links[i].innerHTML = document.links[i].href;
                }
              }
        }
  }
</script>
</head>
<body onload="convertLinks();">
<a href="www.google.com"></a><br />
<a href="http://www.google.com"></a><br />
<a href="http://www.w3c.org">W3C</a>
</body>
</html>
Avatar billede nich01 Nybegynder
18. januar 2004 - 13:21 #8
Hvordan lukker jeg det andede spørgsmål, det er en lille upser det kom to gange, sorry...
Avatar billede skovenborg Nybegynder
18. januar 2004 - 13:25 #9
bare læg et svar og accepter det selv :-)
Avatar billede nich01 Nybegynder
18. januar 2004 - 19:09 #10
Jeg har prøvet svaret fra pizzaria, men jeg synes ikke rigtig der virker er der nogen der kan hjælpe.
Avatar billede skovenborg Nybegynder
18. januar 2004 - 19:53 #11
hva' mæ de andre forslag ?-)
Avatar billede nich01 Nybegynder
18. januar 2004 - 20:05 #12
de funker desværre ikke da den henter url'ene i en database og sætter linkne ind ved at loope...
Avatar billede skovenborg Nybegynder
18. januar 2004 - 21:43 #13
- men hvis du henter dem fra en database (via PHP/ASP), så er linkene jo printet ud og klar til at blive behandlet med en gang javascript. Så kan jeg ikke se hvad problemmet er...

Eller du printer måske linkene ud med javascript??? Måske skulle du vise et link eller noget kode.

Og hvis du printer linkene ud via noget serverside script - så ville det jo være mange gange nemmere at sætte navnet ind derfra.
Avatar billede nich01 Nybegynder
18. januar 2004 - 21:57 #14
det kræver nok lidt bedre forklaring fra min side...

Jeg har en string der indeholder noget tekst, det der sker er at jeg har et url stående mellem "[url]http:www.test.dk[/url]", så ville jeg gerne erstatte dette i min string så der istedet kommer en normale html script <a href='http:www.test.dk' target='_blank'>http:www.test.dk</a> inden i min string variable.
Jeg har prøvet med koden nedenfor, men der har jeg problemet med at linket ikke for noget navn. håber det giver mening ellers skriv det så prøver jeg at forklare det lidt bedre.

$besked = str_replace("[url]", "<a id=\"link01\" href=\"", $besked);
$besked = str_replace("[/url]", "\ target=\"_blank\"></a>", $besked);
Avatar billede nich01 Nybegynder
18. januar 2004 - 22:04 #15
glemte lige at skrive det er php, men det har det erfarne øje nok allerede opdaget
Avatar billede skovenborg Nybegynder
18. januar 2004 - 22:28 #16
så ville det være meget lettere (og mere browser-venligt) at bruge en simpel regular expression:
$besked= "Noget tekst og et link: [url]http://www.test.dk[/url] og et til minsandten: [url]http://www.google.com[/url]";
$besked = preg_replace("/\[url\](\S+)\[\/url\]/i","<a href=\"\\1\" target=\"_blank\">\\1</a>",$besked);
Avatar billede nich01 Nybegynder
18. januar 2004 - 22:51 #17
Jeg takker mange gange skovenborg.
Avatar billede skovenborg Nybegynder
18. januar 2004 - 23:04 #18
og takker for point :-)
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