Gå til innhold

Hvordan lage @-link?


Anbefalte innlegg

Videoannonse
Annonse

For å gjøre dette, må du aller først angi en regel for hvordan å skrive lenken. La oss ta Facebook som eksempel, altså at man linker til en brukerprofil ved å skrive '@brukernavn' (uten fnutter) i en melding. For å konvertere slike tags til ordentlige lenker, må du parse, eller altså tolke, inputen. Dette kan du gjøre i flere språk. I PHP, for dette formålet, funker det helt greit å bruke innebygde funksjoner som preg_replace. Her er et eksempel:

 

<?php
// Input fra brukeren:
$input = 'Dette er en link til brukerprofilen min: @arildwtv. ' .
'@foobar er en lenke til brukerprofilen til foobar-brukeren.';
// Input fra brukeren etter tolkning:
$parsedInput = preg_replace('/@([a-z0-9]+)/i', '<a href="viewprofile.php?username=\\1">\\1</a>', $input);
print($parsedInput);
?>

 

Denne vil konvertere alle tags som starter med @ og påfølgende bokstaver og tall, til lenker. Adressen til lenkene i dette tilfellet vil alltid være viewprofile.php, med brukernavnet som parameter i URL-en.

 

Eksempelet vil gi følgende output:

 

 

Dette er en link til brukerprofilen min: <a href="viewprofile.php?username=arildwtv">arildwtv</a>. <a href="viewprofile.php?username=foobar">foobar</a> er en lenke til brukerprofilen til foobar-brukeren.

 

Håper det hjalp. :)

Endret av arildwtv
Lenke til kommentar

Hmm.. ja jeg tror jeg ser framgangsmåten.

 

1. Bruk en js/ajax i textarea som onchange.

2. Se i eventen om siste tegn = '@'.

3. Bruk ajax på en eller annen måte for å vise fram en liste over aktuelle sider å linke til.

4. Bruk php for å gjøre feks @mikkelrev om til <a href="page.php?name=mikkelrev">mikkelrev</a>

 

Største utfordringen tror jeg ligger i punkt 3.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...