Avatar billede lademan Novice
03. december 2003 - 18:38 Der er 6 kommentarer og
1 løsning

Fra url til billede

Jeg bruger et fantastisk script fra LjWeb, der omdanner url's til rigtige links samt brækker ultra lange ord over. Scriptet bruges i et forum.

Imidlertid vil jeg gerne have det sådan, at urls til alle billeder (gif, jpg, bmp etc) automatisk bliver omdannet til rigtige billeder, men jeg har ikke kunnet få det til at virke sammen med nedenstående script.

Den der kan indføje funktionen i nedenstående kode er en sand Ekspert! :-)

Gerne en god og skudsikker kode! Mange tak til dem der hjælper!


<?php
/*
    File : tagster_lib.php
    Version : 3.0
    Date : September 22nd, 2002
    Author : Lars B. Jensen, lars.jensen@ljweb.com

    Module Description
    Module to transform URL and E-Mail addresses into clickable links.

    Instruction
    To utilize the tagster_lib library, copy this file to a location on your server. Include the
    library into your php document or template.
    Use the function tagster_format to extract and modify all links and emails in a given string.
    The parameters $target handling the target for links and $class for handling css on <a tags are
    both optional.
   
    Example   
    include('lib/tagster_lib.php');
    $str = tagster_format($str, "_blank", "mystyle");

    Note
    This module library has support for the scandinavian specialchars æ, ø and å.


    Public Functions
    --------------------------------------------------------------´
    function tagster_format($str, $target, $css_class, $fixlongword)
    function tagster_url($str, $target, $class)
    function tagster_email($str, $class)

    Private Functions
    --------------------------------------------------------------´
    function tagster_fix_endchar($str)
    function tagster_expand($str)
    function tagster_reduce($str)
    function tagster_fix_longword($str, $maxlen)
*/

    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("  ", "&nbsp; ", $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 lademan Novice
03. december 2003 - 22:12 #1
Ingen bud?
Avatar billede lademan Novice
04. december 2003 - 19:45 #2
Ingen der har lyst til at prøve kræfter med denne nød?
Avatar billede lademan Novice
09. december 2003 - 19:46 #3
Ingen der vil hjælpe lidt?
Avatar billede lademan Novice
09. december 2003 - 20:08 #4
Ingen?
Avatar billede lademan Novice
09. december 2003 - 20:09 #5
Ikke en gang en lille ekspert derude?
Avatar billede lademan Novice
09. december 2003 - 20:22 #6
En stor ekspert?
Avatar billede lademan Novice
09. december 2003 - 20:51 #7
Satser hele butikken andetsteds.
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