Avatar billede nickclausen Nybegynder
03. september 2003 - 10:23 Der er 13 kommentarer og
1 løsning

Udskift tegn med smiley-billede i tagwall

Jep, du kender den sikkert. Den der fikse ting, hvor man skriver noget i en gæstebog eller tagwall og bruger fx. ":)" eller ":D" og når man så har skrevet den, er den blevet byttet ud med små smiley-gifsbilleder.

Hvad kræves det for at indsætte et sådant script i en ASP-gæstebog? Og vil det overhovedet kunne gøres med et script?

Her er et eksempel: http://rommenet.dk/default.asp?page=273
Det skal lige igen siges, at jeg HAR en færdigkodet tagwall, men blot mangler at lave, så forudbestemte tegn bliver konventeret ind til disse smilies.
Avatar billede minijensen1 Nybegynder
03. september 2003 - 10:29 #1
tekst = Replace(tekst, ":)", "<img src=""smiley1.gif"">")
tekst = Replace(tekst, ":D", "<img src=""smiley2.gif"">")

Andet skal der ikke til
Avatar billede nickclausen Nybegynder
03. september 2003 - 10:32 #2
Ok, hvorhenne skal jeg sætte den ind?
tagwall.asp er selve tagwall'en, der hvor beskederne kommer.
tilfoj.asp er hvor beskederne indskrives og sendes via indsaet.asp til tagwall.asp.
indsat.asp er så hvor beskeden bliver sendt til tagwall'en.

Har jeg ret i, at det skal indsættes i indsaet.asp? Men hvorhenne? Er det ligegyldigt?

(Jep, det er rigtig, jeg er første klasses ASP-newbie ;))
Avatar billede minijensen1 Nybegynder
03. september 2003 - 10:35 #3
Du kan indsætte det på den side hvor alt teksten skrives til brugeren, eller du kan gøre det på den side hvor det hele indsættes i databasen.
Husk at skifte "tekst" ud med navnet på den variabel som indeholder teksten.

Det skal selvfølgelig indsættes inden der skrives i databasen, eller inden der skrives til brugeren ..
Avatar billede nickclausen Nybegynder
03. september 2003 - 10:45 #4
Er ikke helt med på hvad du mener "tekst" skal udskiftes med?
Avatar billede minijensen1 Nybegynder
03. september 2003 - 10:50 #5
nyvariabel = Replace(gammelvariabel, "erstart_dette", "med_dette")
Måske kan du forstå det sådan ..
altså du har en variabel (her gammelvariabel) som skal udskiftes noget i, dette gemmes så i en ny variabel (her nyvariabel)
Avatar billede d4s Novice
03. september 2003 - 11:24 #6
I din tagwall har du skrevet:
***
jeg har selv skrevet, hver eneste af de 30.923 linjer kode, systemer er lavet af.
***

Så ved du vel også hvor du udskriver indholdet af din tagwall. Desuden har du jo smileys i din tagwall, så hvad er problemet?

Med hensyn til hvornår du skal udskifte tegnene med smileybilledlinket vil jeg anbefale dig at gøre det inden tagwallen udskrives til brugeren, dvs. at teksten gemmes i databasen UDEN <img src="smiley.gif"> koderne. Derved giver du brugerne mulighed for at slå smileys fra, hvis de ikke vil se dem.

Du skal derfor lave dine replace sætninger i en funktion i tagwall.asp:

function smiley(tekst)
tekst=replace(tekst,"*angel*,"<img src=""http://rommenet.dk/CMS/Images/Smilies/angel.gif""">")
tekst=replace(tekst,"*flame*,"<img src=""http://rommenet.dk/CMS/Images/Smilies/flamed.gif""">")
'fortsæt med en replace for hver smiley
smiley=tekst
end function

Hvis du udskriver med:
response.write rs("besked")
skal du i stedet skrive:
response.write smiley(rs("besked"))

rs("besked") er feltet i databasen som indeholder den tekst dine besøgende har skrevet på din tagwall. Det er kun dig, der kan vide hvad feltet hedder. Hvis du har indholdet i en variabel med navnet tagbesked, skriver du:

response.write smiley(tagbesked)

Hilsen
D4
Avatar billede nickclausen Nybegynder
03. september 2003 - 18:05 #7
D4 >> Selvom RommeNet.dk så VAR min hjemmeside (hvilket jeg intet nævner om), kommer det da ikke spørgsmålet ved hvordan min tagwall ser ud? Jeg ville jo ikke spørge om noget jeg allerede havde i min tagwall.

minijensen1 >> Altså, "gammelvariable" skal være navnet på hvor man indtaster beskeden? Det har jeg kaldt "Besked".
Og "nyvariable" skal jeg selv give et navn? Fx. "Smiley"?
Det ser ikke ud til at virke?
Avatar billede netro Nybegynder
03. september 2003 - 18:18 #8
Prøv nu at gøre som d4 siger. Bedre forklaring får du næppe.
Avatar billede genster Nybegynder
03. september 2003 - 18:32 #9
Nu skal JEG komme med en forklaring ;)

Nu er jeg lige skiftet fra ASP til PHP .. Så det kan være der er nogen fejl - men undskyld så :P

Men hvad JEg vil mene er bedst, er at man først laver Replace function mens men henter beskeden. Dette vil få databasen til at fylde en lille del mindre (Nok ikke så det kan mærkes .. Men alligevel - i store træk kan det godt blive til meget :))

Så derfor, udfører du dit SQL Script - Det kunne være:

strSQL = "SELECT * FROM tagwall ORDER BY id DESC"
Set rs = Server.CreateObject("ADODB.Recordset")

Og alt det bawl der ..

Og så nederst (efter den har åbnet DATABASEN, skriver du dette:

tekst=replace(rs("besked"),":)","<img src=""images/smile.gif""">")
tekst=replace(rs("besked"),":D","<img src=""images/smileyBIG.gif""">")

Forstår du nu ?
Så det vil sige at i dit dokument, hvor dit ASP script udskriver alle de indlæg der er i databasen, finder du der hvor den udskriver beskeden (Skulle nok ligne noget a lá like this: <% = rs("besked") %>
Der skal der istedet stå: <% = tekst %>

Det var da meget nemt, var det ik? :)

Mvh
Thomas Genster
Avatar billede genster Nybegynder
03. september 2003 - 18:34 #10
Hov - vent !!

Sry ..

Det skulle være:

tekst=replace(rs("besked"),":)","<img src=""images/smile.gif""">")
tekst=replace(tekst,":D","<img src=""images/smileyBIG.gif""">")
Avatar billede janr Nybegynder
05. september 2003 - 23:41 #11
Hej Nickclausen... hvorfor har du ikke bare spurgt mig, hvordan jeg har gjort, nu hvor du alligevel har været inde på min hjemmeside og finde tagwallen? ... jeg vil da med glæde fortælle hvordan jeg har gjort.

  Function ReplaceSmilie (strS, strImg, strHTML)   
      strImg = "<img src=""/Smilies/" & strImg & """ border=""0"" alt="""">"
      strHTML = replace(strHTML, strS, strImg)    
      ReplaceSmilie = strHTML       
  End function

Til d4, kan jeg fortælle, at jeg udmærket godt ved hvordan jeg har lavet tagwallen, men det ved Nick åbenbart ikke, men det er jo også ham, og ikke mig, der har oprettet spørgsmålet.
Avatar billede janr Nybegynder
05. september 2003 - 23:43 #12
Nick, hvis du lige mailer mig, så kan jeg lige sende dig den komplette source-kode - så kan du klippe det ud, du skal bruge til din tagwall :-)
Avatar billede nickclausen Nybegynder
03. februar 2004 - 22:19 #13
Lukketid ...
Avatar billede netro Nybegynder
04. februar 2004 - 15:56 #14
Hvad var der galt med de svar, du har fået?
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
Kurser inden for grundlæggende programmering

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