26. marts 2005 - 01:58
Der er
14 kommentarer og 1 løsning
Smileyer og links i mysql
vidste ikke helt hvordan jeg skulle formulere spørgsmålet, men sagen er:
Vi siger jeg har et nyhedsscript og hver gang jeg skriver :) så skal det erstattes med en smiley når det vises på den side hvor nyheden vises (håber I forstod det)
samme hvis jeg f.eks. skriver
http://www.EnEllerAndenSide.dk og den så laver <a href="
http://www.EnEllerAndenSide.dk">http://www.EnEllerAndenSide.dk</a> Eller EnEllerAnden@MailAdresse.dk bliver til <a href="mailto: EnEllerAnden@MailAdresse.dk">EnEllerAnden@MailAdresse.dk</a>
Er der nogen mulighed for at lave det? I så fald hvordan?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
26. marts 2005 - 02:05
#1
Ja.. det burde da være muligt. Først stjæler man et par funktioner fra razor.dk: <? function url2link($str) { return eregi_replace("((f|ht)tps?://)([a-z0-9@:%_.~#\-\?&-]+)((\=|[a-z0-9]|\?|&|\/|\.|-|:|æ|ø|å)+){0,}", "<a href=\"\\0\">\\0</a>", $str); } function email2link($str) { return eregi_replace("^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*)$", "<a href=\"mailto:\\0\">\\0</a>", $str); } ?> og så kan du lave en til smileys <? function text2smiley($str) { $text[0] = ":)"; $text[1] = ";)"; $replace[0] = '<img src="pic1"/>'; $replace[1] = '<img src="pic2"/>'; return preg_replace($text,$replace,$str); } ?> så har du hele dit output ved <? $str = 'din streng med ting'; echo url2link(email2link(text2smiley($str))): ?>
26. marts 2005 - 03:07
#2
jeg smider lige et svar, hvis du kan bruge mit forslag til noget.
28. marts 2005 - 01:26
#3
jeg har tilføjet 21 smileyer, men får denne fejlmeddelelse Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ';' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ';' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: Delimiter must not be alphanumeric or backslash in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: Delimiter must not be alphanumeric or backslash in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter '?' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: Delimiter must not be alphanumeric or backslash in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: Delimiter must not be alphanumeric or backslash in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: Delimiter must not be alphanumeric or backslash in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: Delimiter must not be alphanumeric or backslash in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Warning: No ending delimiter ':' found in /mnt/dkcphnas003/www/t/y/thesimcity.dk/Brugeroplysninger/Erstatter.php on line 59 Her er Erstatter.php <?php function url2link($tekst) { return eregi_replace("((f|ht)tps?://)([a-z0-9@:%_.~#\-\?&-]+)((\=|[a-z0-9]|\?|&|\/|\.|-|:|æ|ø|å)+){0,}", "<a href=\"\\0\">\\0</a>", $tekst); } function email2link($tekst) { return eregi_replace("^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*)$", "<a href=\"mailto:\\0\">\\0</a>", $tekst); } function text2smiley($tekst) { $text[0] = ":)"; $text[1] = ";)"; $text[2] = ":D"; $text[3] = ";D"; $text[4] = ":("; $text[5] = ":*"; $text[6] = "8)"; $text[7] = ":P"; $text[8] = "0:)"; $text[9] = ":@"; $text[10] = ":|"; $text[11] = "?:("; $text[12] = ":$"; $text[13] = "D:)"; $text[14] = "P:)"; $text[15] = "Ha:)"; $text[16] = ":/"; $text[17] = ":O"; $text[18] = ":X"; $text[19] = "R:)"; $text[20] = ":'("; $replace[0] = '<img src="../Billeder/Smileyer/smiley.gif"/>'; $replace[1] = '<img src="../Billeder/Smileyer/wink.gif"/>'; $replace[2] = '<img src="../Billeder/Smileyer/cheesy.gif"/>'; $replace[3] = '<img src="../Billeder/Smileyer/grin.gif"/>'; $replace[4] = '<img src="../Billeder/Smileyer/sad.gif"/>'; $replace[5] = '<img src="../Billeder/Smileyer/kiss.gif"/>'; $replace[6] = '<img src="../Billeder/Smileyer/cool.gif"/>'; $replace[7] = '<img src="../Billeder/Smileyer/tongue.gif"/>'; $replace[8] = '<img src="../Billeder/Smileyer/angel.gif"/>'; $replace[9] = '<img src="../Billeder/Smileyer/angry.gif"/>'; $replace[10] = '<img src="../Billeder/Smileyer/azn.gif"/>'; $replace[11] = '<img src="../Billeder/Smileyer/huh.gif"/>'; $replace[12] = '<img src="../Billeder/Smileyer/embarassed.gif"/>'; $replace[13] = '<img src="../Billeder/Smileyer/evil.gif"/>'; $replace[14] = '<img src="../Billeder/Smileyer/police.gif"/>'; $replace[15] = '<img src="../Billeder/Smileyer/laugh.gif"/>'; $replace[16] = '<img src="../Billeder/Smileyer/undecided.gif"/>'; $replace[17] = '<img src="../Billeder/Smileyer/shocked.gif"/>'; $replace[18] = '<img src="../Billeder/Smileyer/lipsrsealed.gif"/>'; $replace[19] = '<img src="../Billeder/Smileyer/rolleyes.gif"/>'; $replace[20] = '<img src="../Billeder/Smileyer/cry.gif"/>'; return preg_replace($text,$replace,$tekst); } ?> den inkluderes på siden hvor smileyerne skal vises... her er området som kalder funktionerne: $nyhed = nl2br(url2link(email2link(text2smiley($tekst)))); Fatter ikke helt fejlen :S
28. marts 2005 - 01:26
#4
glemte lige at sige at email2link heller ikke virker, men url2link virker perfekt
28. marts 2005 - 01:28
#5
hvad er der galt med email2link?
28. marts 2005 - 01:29
#6
den laver det ikke om til et link, har været inde i kilden også, der viser den heller ikke noget med <a href=""> eller noget...
28. marts 2005 - 01:41
#7
Jeg har set lidt på koden når nu jeg har nogle smileys at arbejde med. Følgende kode virker: <?php function url2link($tekst) { return eregi_replace("((f|ht)tps?://)([a-z0-9@:%_.~#\-\?&-]+)((\=|[a-z0-9]|\?|&|\/|\.|-|:|æ|ø|å)+){0,}", "<a href=\"\\0\">\\0</a>", $tekst); } function email2link($tekst) { return eregi_replace("^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*)$", "<a href=\"mailto:\\0\">\\0</a>", $tekst); } function text2smiley($tekst) { $text[0] = ":)"; $text[1] = ";)"; $text[2] = ":D"; $text[3] = ";D"; $text[4] = ":("; $text[5] = ":*"; $text[6] = "8)"; $text[7] = ":P"; $text[8] = "0:)"; $text[9] = ":@"; $text[10] = ":|"; $text[11] = "?:("; $text[12] = ":$"; $text[13] = "D:)"; $text[14] = "P:)"; $text[15] = "Ha:)"; $text[17] = ":O"; $text[18] = ":X"; $text[19] = "R:)"; $text[16] = ":'("; $replace[0] = '<img src="../Billeder/Smileyer/smiley.gif"/>'; $replace[1] = '<img src="../Billeder/Smileyer/wink.gif"/>'; $replace[2] = '<img src="../Billeder/Smileyer/cheesy.gif"/>'; $replace[3] = '<img src="../Billeder/Smileyer/grin.gif"/>'; $replace[4] = '<img src="../Billeder/Smileyer/sad.gif"/>'; $replace[5] = '<img src="../Billeder/Smileyer/kiss.gif"/>'; $replace[6] = '<img src="../Billeder/Smileyer/cool.gif"/>'; $replace[7] = '<img src="../Billeder/Smileyer/tongue.gif"/>'; $replace[8] = '<img src="../Billeder/Smileyer/angel.gif"/>'; $replace[9] = '<img src="../Billeder/Smileyer/angry.gif"/>'; $replace[10] = '<img src="../Billeder/Smileyer/azn.gif"/>'; $replace[11] = '<img src="../Billeder/Smileyer/huh.gif"/>'; $replace[12] = '<img src="../Billeder/Smileyer/embarassed.gif"/>'; $replace[13] = '<img src="../Billeder/Smileyer/evil.gif"/>'; $replace[14] = '<img src="../Billeder/Smileyer/police.gif"/>'; $replace[15] = '<img src="../Billeder/Smileyer/laugh.gif"/>'; $replace[17] = '<img src="../Billeder/Smileyer/shocked.gif"/>'; $replace[18] = '<img src="../Billeder/Smileyer/lipsrsealed.gif"/>'; $replace[19] = '<img src="../Billeder/Smileyer/rolleyes.gif"/>'; $replace[16] = '<img src="../Billeder/Smileyer/cry.gif"/>'; $len = count($text); for ($i = 0;$i < $len;$i++) { $tekst = str_replace($text[$i],$replace[$i],$tekst); } return $tekst; } ?> som du så kan kalde med: <? $nyhed = nl2br(text2smiley(url2link(email2link($test)))); ?> Jeg har fjernet din :/ simley da den generede med http:// delen af et link. Og jeg har testet email2link funktionen og det fungerede helt fint.
28. marts 2005 - 02:05
#8
wee! nu virker smileyerne, men mailen virker stadig ikke... jeg skal vel kun skrive selve mailadressen eg. etellerandet@underligtnoget.dk?
28. marts 2005 - 02:09
#9
hov mig giver: print email2link('etellerandet@underligtnoget.dk'); følgende output: <a href="mailto:etellerandet@underligtnoget.dk">etellerandet@underligtnoget.dk</a> Er det ikke godt nok?
28. marts 2005 - 02:12
#10
mit nyhedsscript gør bare noget underligt, hvis jeg laver en nyhed kun med mailen som indhold så virker det fint nok, men hvis jeg skriver noget derudover så virker det ikke
28. marts 2005 - 02:13
#11
fik det til, erstattede $ med {0,} i funktionen til sidst...
28. marts 2005 - 02:16
#12
du fik det til at virke?
28. marts 2005 - 02:23
#13
jepsen... så her får du dine point...
28. marts 2005 - 02:24
#14
tak tak
28. marts 2005 - 17:33
#15
hmm når jeg skriver en email adresse som noget af det første i mit nyhedsscript, så laver den det fint nok om til et link, men hvis den står midt inde i noget tekst så laver den det ikke om til et link, heller ikke hvis jeg skriver 2 emails i starten så er det kun den første som ændrer sig...
Vi tilbyder markedets bedste kurser inden for webudvikling