Avatar billede clevzter Nybegynder
14. juni 2003 - 23:24 Der er 8 kommentarer og
1 løsning

Omvendt tagster

Hej.

Jeg bruger scriptet tagster fra http://www.ljweb.biz til at omdanne tekst fra et <textarea> til normal html-kode.
Ex: \n blir til <br>

Er det muligt at lave et script, der laver arbejdet baglæns? Jeg har nemlig en rediger-funktion, hvor teksten spyttes ud i et <textarea> igen.

Jeg kan finde ud af fx at få lavet <br> til \n igen, men det blir straks lidt mere tricky når <a href="http://enside.dk">http://enside.dk</a> skal laves om til blot http://enside.dk.

Nogen der kan hjælpe? Eller er det kort sagt umuligt?
Avatar billede clevzter Nybegynder
14. juni 2003 - 23:27 #1
Jeg har trimmet det oprindelige script lidt.
Min tagster-kode ser nu således ud:

function tagster_format($str, $target="_blank") {
        $str = str_replace("&", "&amp;", $str);
        $str = str_replace("<", "&lt;", $str);
        $str = str_replace(">", "&gt;", $str);
        $str = tagster_url($str, $target);
        $str = tagster_email($str);
        $str = tagster_fix_endchar($str);
        $str = str_replace("  ", "&nbsp; ", $str);
        $str = str_replace("\t", "&nbsp;&nbsp;&nbsp; ", $str);
        $str = str_replace("\r", "", $str);
        $str = str_replace("\n", "<br><br>", $str);
       
        return $str;
    }

    function tagster_url($str, $target) {
        $ins_str = "";
        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) {
        $str = tagster_expand($str);
        $str = preg_replace ("/([\s\"])([\w\.\-_]+)@([\w\-_]+)\.([\w\.\-_]+)/i", "\\1<a href=\"mailto:\\2@\\3.\\4\">\\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_expand($str) {
        return " ".$str." ";
    }

    function tagster_reduce($str) {
        return substr($str, 1, -1);
    }
Avatar billede dmcn Praktikant
14. juni 2003 - 23:27 #2
Hvorfor ikke opbevare data i databasen i "raw" format, altså uden at køre det igennem tagsteren, og så først formatere den når den skal bruges, altså når den udskrives på siden?
På den måde har du hele teksten i databasen i et format, som du selv kan ændre som du lyster, afhængig af hvad det skal bruges til.
Avatar billede clevzter Nybegynder
14. juni 2003 - 23:30 #3
Hmm... Du siger noget.
Jeg prøver lige at teste lidt og vender tilbage. Evt. med points.
Avatar billede clevzter Nybegynder
14. juni 2003 - 23:40 #4
Du havde ret. Hvor dum er jeg. Du får pointene.
Så har jeg et andet problem. Har tænkt lidt på at opfinde en tallerken. Men en dyb én... Noget du kan hjælpe med?
Avatar billede exp Juniormester
14. juni 2003 - 23:43 #5
Du kunne evt. lave den så den ligner dette stykke brugskunst:
http://www.ilva.dk/pictures/7/1/7121214M.jpg
Avatar billede roenving Novice
14. juni 2003 - 23:51 #6
*g*
Avatar billede clevzter Nybegynder
14. juni 2003 - 23:51 #7
Jo tak.
Jeg vil nu grave mit hoved ned og bede jer glemme at jeg nogensinde spurgte om det her.
Avatar billede exp Juniormester
14. juni 2003 - 23:56 #8
:-)
Avatar billede nicklasb Nybegynder
15. juni 2003 - 00:17 #9
clevzter -> hvad er det for en "tallerken" du vil lave? Lyder spændende hvis den er så dyb?? Uddyb lige en gang.. :D
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