Avatar billede lademan Novice
09. december 2003 - 20:58 Der er 26 kommentarer og
1 løsning

200 p på højkant!

Hej eksperter!

Jeg vil gerne have nedenstående function tagster_format() udvidet, således at urls til gif's, jpg's og andre billedformater omdannes til rigtige billeder og ikke til links, som det er tilfældet pt.

200 point til den der laver en god og skudsikker løsning!

---------------------------

<?php
function tagster_format($str, $target="_blank", $css_class="", $fixlongword = 0) {
    $str = str_replace("&", "&amp;", $str);
    $str = tagster_url($str, $target, $css_class);
    $str = tagster_email($str, $css_class);
    $str = tagster_fix_endchar($str);
    $str = str_replace("\t", "&nbsp;&nbsp;&nbsp; ", $str);
    $str = str_replace("\r", "", $str);
    $str = str_replace("\n", "<br>", $str);
    if ($fixlongword != 0) $str = tagster_fix_longword($str, $fixlongword);
    return $str;
}
function tagster_url($str, $target, $css_class) {
    $ins_str = "";
    if ($css_class) $ins_str .= " class=\"".$css_class."\"";
    if ($target) $ins_str .= " target=\"".$target."\"";
    $str = tagster_expand($str);
    $str = preg_replace ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "<a href=\"\\1://\\2\"".$ins_str.">\\1://\\2</a>", $str);
    $str = preg_replace ("/(\s|tp\:|\(|\[|\&gt;)(www\.)([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1<a href=\"http://\\2\\3\"".$ins_str.">\\2\\3</a>", $str);
    $str = preg_replace ("/(\s|tp\:|\(|\[|\&gt;)(ftp\.)([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1<a href=\"ftp://\\2\\3\"".$ins_str.">\\2\\3</a>", $str);
    return tagster_reduce($str);
}
function tagster_email($str, $css_class="") {
    $ins_class = "";
    if ($css_class) $ins_class = " class=\"".$css_class."\"";
    $str = tagster_expand($str);
    $str = preg_replace ("/([\s\"])([\w\.\-_]+)@([\w\-_]+)\.([\w\.\-_]+)/i", "\\1<a href=\"mailto:\\2@\\3.\\4\"".$ins_class.">\\2@\\3.\\4</a>", $str);
    return tagster_reduce($str);
}
function tagster_fix_endchar($str) {
    $str = preg_replace ("/([\'\"\)\]\.\,\?\!]+)\">/i", "\">", $str);
    $str = preg_replace ("/([\'\"\)\]\.\,\?\!]+)\" (target|class)=\"/i", "\" \\2=\"", $str);
    $str = preg_replace ("/([\'\"\)\]\.\,\?\!]+)<\/a>/i", "</a>\\1", $str);
    return $str;
}
function tagster_fix_longword($str, $maxlen = 10) {
    $sw = 0;
    $in_tag = false;
    $str_size = strlen($str);
    $res = "";
    for ($i=0; $i<$str_size; $i++){
        if ($str[$i] == '<') $in_tag = true;
        else if ($str[$i] == ' ') $sw = 0;
        if (!$in_tag && (($sw++) > $maxlen)) {
            $res .= '&shy;';
            $sw = 0;
        }
        if ($str[$i] == '>') $in_tag = false;
        $res .= $str[$i];
    }
    return $res;
}
function tagster_expand($str) {
    return " ".$str." ";
}
function tagster_reduce($str) {
    return substr($str, 1, -1);
}
?>
Avatar billede Slettet bruger
09. december 2003 - 20:59 #1
Flot overskrift. Ih hvor vi alle iler til det når der er 200 point på højkant

*jubler*
Avatar billede lademan Novice
09. december 2003 - 21:05 #2
Hehe, du har da allerede lagt et svar...

Til den lidt mere seriøse side af sagen; er der en volunteer, der vil hjælpe lidt?
Avatar billede Slettet bruger
09. december 2003 - 21:13 #3
Nej, jeg har ikke lagt et svar men en kommentar.

Hvilken del af nedenstående forstod du ikke?

Vigtigt:

Brug titlen til at beskrive hvad du ønsker hjælp til.
Avatar billede viciodk Praktikant
09. december 2003 - 21:14 #4
Point er sååå værdifulde, haha :)
Avatar billede lademan Novice
09. december 2003 - 21:16 #5
Forhold dig til problemstillingen i spørgsmålet, min gode ven.
Avatar billede lademan Novice
09. december 2003 - 21:19 #6
Og det gælder såvel barto som vico.
Avatar billede Slettet bruger
09. december 2003 - 21:22 #7
Ellers tak "min gode ven"

Du skal følge reglerne som du burde havde læst lige inden du blev oprettet.
Avatar billede viciodk Praktikant
09. december 2003 - 21:24 #8
Du må altså også uddybe spørgsmålet.. Ved mindre man kender svaret på forhånd, vil det være temmelig svært at kunne løse problemet
Avatar billede lademan Novice
09. december 2003 - 21:24 #9
Måske vi skulle læse dem højt sammen? Du har øjensynligt ikke fattet en bjælde af regelsættet, min lille ven.
Avatar billede viciodk Praktikant
09. december 2003 - 21:27 #10
Vigtigt:

Brug titlen til at beskrive hvad du ønsker hjælp til.
Eksperterne udvælger de spørgsmål de kan og vil svare på ud fra titlen, så er den ikke beskrevet godt nok, ser de ikke dit spørgsmål.
Vælg den rigtige kategori.
Hver kategori har sine eksperter, så vælger du den forkerte kategori, kan du risikere ikke at få svar.
Jo bedre beskrivelse du giver, jo bedre svar får du.

PUNKTUM

Prøv at beskrive problemet så vi bedre kan sætte os ind i det...
Avatar billede lademan Novice
09. december 2003 - 21:29 #11
viciodk >>
problemet er, at alle urls bliver omdannet til rigtige links i ovenstående kode, herunder også urls til billeder. urls til billeder vil jeg gerne have lavet om til rigtige billeder, således at http://www.sol.dk/logo.gif bliver til <img scr="http://www.sol.dk/logo.gif">
Avatar billede lademan Novice
09. december 2003 - 21:39 #12
Jeg bruger ovenstående funktioner i fx et forum således:

$row[indhold] = tagster_format($row[indhold]);
$row[indhold] = tagster_fix_longword($row[indhold]);

Hvormed indholdet kører igennem ovenstående kode.
Avatar billede Slettet bruger
09. december 2003 - 22:00 #13
lademan> Du skal ikke tale ned til mig, det er tydeligt at det er dig der er den lille her.
Avatar billede lademan Novice
09. december 2003 - 22:22 #14
Jeg erkender gerne, at overskriften ikke er den mest dækkende, men det retfærdiggør ikke, at du spolerer tråden.

Mht hvem der er den lille, gider jeg ikke at gå ind i diskussionen. Jeg har ikke behov for at markere mig i den sammenhæng.

Har du ikke noget at bidrage med i henhold til problemstillingen i mit spørgsmål, bedes du bruge din negative energi andetsteds. Tak.
Avatar billede Slettet bruger
09. december 2003 - 22:38 #15
Det er da dig der kalder mig for "lille ven", et tydeligt tegn på for lidt selvværd.

Jeg har ret og du tager fejl. EOD.
Avatar billede fangel Nybegynder
09. december 2003 - 23:46 #16
og spørgsmålet har været oppe før - overbevidst om det... tjekker det lige i morgen - nu kalder en seng på mig

Morten
Avatar billede exp Juniormester
09. december 2003 - 23:59 #17
Avatar billede lademan Novice
10. december 2003 - 08:21 #18
Så tager vi den lige igen for el_bartos skyld:

Mht hvem der er den lille, gider jeg ikke at gå ind i diskussionen. Jeg har ikke behov for at markere mig i den sammenhæng.

Har du ikke noget at bidrage med i henhold til problemstillingen i mit spørgsmål, bedes du bruge din negative energi andetsteds. Tak.
Avatar billede lademan Novice
10. december 2003 - 08:28 #19
Dea_pg - det lyder rigtig godt! Glæder mig til at se det :-)
Avatar billede fcs Novice
10. december 2003 - 09:42 #20
Lademan>> To ting der kunne have fjernet denne diskusion:

1. Lav en god beskrivende overskrift.
2. Når du bliver gjort opmærksom på fejlen, så bare sige "Sorry - det skla jeg nok lade være med næste gang"

Hvis dette var sket, så ville dit spørgsmål ikke have været blevet "forurenet".

Hygge og pøj pøj med løsningen af dit problem ;-)
Avatar billede lademan Novice
10. december 2003 - 10:36 #21
.
Avatar billede fangel Nybegynder
10. december 2003 - 14:39 #22
synes nok jeg havde set det før

http://www.eksperten.dk/spm/435594

du må ikke oprette det samme spørgsmål to gange (kun hvis der ingen svar kommer og der er gået over 2 uger - det er der ikke)

Morten
Avatar billede exp Juniormester
10. december 2003 - 17:59 #23
dea_pg >>
Det er vist kun én uge ;-)

"Det er ikke tilladt at oprette samme spørgsmål flere gange. Er der ikke indløbet tilfredsstillende svar på et spørgsmål efter 7 dage, er det dog tilladt at lukke det oprindelige spørgsmål, og oprette et nyt identisk."

P.S. Ville du ikke adde mig til din icq?
Avatar billede fangel Nybegynder
10. december 2003 - 18:38 #24
exp -> var ICQ til mig? - var det nok... så har jeg nok haft glemt det... gør det lige...

Morten
Avatar billede fangel Nybegynder
10. december 2003 - 18:41 #25
exp -> har lige (prøvet) skrevet lidt til dig... (bruger Gaim - og har ikke helt styr på ICQ dele)
Avatar billede exp Juniormester
10. december 2003 - 19:59 #26
Har ihvertfald endnu ikke hørt fra dig... :-)
Avatar billede fangel Nybegynder
10. december 2003 - 20:19 #27
argg - nå - men du kan jo lige skrive til mig så... så må gaim bare lære det
170419221

Morten
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