webForumDet fria alternativet

@Namn - tagga medlem i en text

PHP

1 svar · 994 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Frågan#1

Tänkte bygga något i php där man i ett klotterplank ska kunna tagga en medlem via @Namn. Då skall alltså bara det namnet bli länkat till den personen medans resten av texten skall vara olänkad.

Hur ska man skriva då? Jag vet att man på nå vis ska plocka ut just ordet vid @ men vet inte hur man gör.

Ex:
Vad ska du göra ikväll @Asa_80? Jag tänkte se på tv.

Då skall @Asa_80 bli en länk samt när jag sparar detta till databasen ska man kunna få ett meddelande skickat till medlemmen lätt.

Någon som kan tänkas hjälpa mig?

Medlem sedan jan. 2005953 inlägg
#2

Jag skulle ha använt mig av ett reguljärt uttryck och funktionen preg_replace() för detta. Hur uttrycket ska se ut beror på vilka regler du har satt upp för hur användarnamnet får se ut, men det här kanske kan få dig i rätt riktning i alla fall:

$text = 'Vad ska du göra ikväll @Asa_80? Jag tänkte se på tv.'; // Hämta detta från databasen
$text = preg_replace('/@(\w+)/', '<a href="message.php?to=$1">@$1</a>', $text);
echo $text;

Jag tycker inte att du ska göra det när du sparar till databasen, gör det istället när du hämtar ut data från databasen. Om du någon gång i framtiden vill ändra sökvägen till filen som skickar meddelanden så behöver du då bara ändra i din kod, och slipper sitta och ändra hela din databas.

Läs mer om reguljära uttryck och preg_replace() i manualen:
http://php.net/manual/en/book.pcre.php
http://php.net/manual/en/function.preg-replace.php

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)