Avatar billede kongfjong Nybegynder
01. december 2005 - 11:43 Der er 12 kommentarer og
1 løsning

Ekstra hjælp til tagster

Jeg har forsøgt at lave en tagster. foreløbigt er kode som følger:

function formatStrengInsert($streng)
{
    $streng = htmlspecialchars($streng);
   
    $opsplit = strtok($streng, " \n");
    $ny_streng = "";
   
    while (is_string($opsplit))
    {
        if ($opsplit)
        {
            if (strstr($opsplit, "http://"))
            {
                if (strstr($opsplit, "fmground.dk"))
                {
                    $url = $opsplit;
                    $ny_streng .= "<a href=\"$url\" target=\"_self\">$url</a> ";
                }
                else
                {
                    $url = $opsplit;
                    $ny_streng .= "<a href=\"$url\" target=\"_blank\">$url</a> ";
                }
            }
            else
            {
                $ny_streng .= "$opsplit ";
            }
        }
       
        $counter++;
        $opsplit = strtok(" \n");
    }
   
    return $ny_streng;
}

Når man smider følgende tekst:

http://www.fmground.dk/blandet/Netspilsregler-UK.doc

http://www.fmground.dk/blandet/Netspilsregler-DK.doc

http://www.fmground.dk/downloads/vm.ddt

bliver outputtet som følger i databasen:

<a href="http://www.fmground.dk/blandet/Netspilsregler-UK.doc
" target="_self">http://www.fmground.dk/blandet/Netspilsregler-UK.doc
</a>
<a href="http://www.fmground.dk/blandet/Netspilsregler-DK.doc
" target="_self">http://www.fmground.dk/blandet/Netspilsregler-DK.doc
</a>
<a href="http://www.fmground.dk/downloads/vm.ddt" target="_self">http://www.fmground.dk/downloads/vm.ddt</a>

Nu er det så sådan, at når indlæggene bliver vist i forummet, bliver der lavet et 'hidden' input-felt, med samme indhold som brugerne kan se i selve indlægget.

Problemet er nu bare at den viser det indhold i feltet selvom det er hidden. Nogen der har nogen idéer om hvorfor i al verden den gør det?
Avatar billede jakobdo Ekspert
01. december 2005 - 11:46 #1
Prøv at søg inspiration i dette:

function text_url($str, $target, $css_class)
{
    $ins_str = "";
    if ($css_class)
        $ins_str .= " class=\"".$css_class."\"";
    if ($target)
        $ins_str .= " target=\"".$target."\"";
   
    $str = preg_replace_callback ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\%\^\{\}]+)/i", create_function('$matches','if( strlen($matches[2]) > 25 ) $name = substr($matches[2],0,25) . ".."; else $name = $matches[2]; return "<a".$ins_str." href=\"{$matches[1]}://{$matches[2]}\">$name</a>";'),$str);
    $str = preg_replace_callback ("/(\s|tp\:|\(|\[|\&gt;)(www\.)([a-z0-9~#&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\%\^\{\}]+)/i",                    create_function('$matches','if( strlen($matches[3]) > 25 ) $name = substr($matches[3],0,25) . ".."; else $name = $matches[3]; return "<a".$ins_str." href=\"http://$matches[2]$matches[3]\">$name</a>";'), $str);
    $str = preg_replace_callback ("/(\s|tp\:|\(|\[|\&gt;)(ftp\.)([a-z0-9~#&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\%\^\{\}]+)/i",                    create_function('$matches','if( strlen($matches[3]) > 25 ) $name = substr($matches[3],0,25) . ".."; else $name = $matches[3]; return "<a".$ins_str." href=\"ftp://$matches[2]$matches[3]\">$name</a>";'), $str);

  return $str;
}
Avatar billede kongfjong Nybegynder
01. december 2005 - 11:51 #2
Det er med regular expression right?

Har ikke styr på det endnu rigtigt...
Avatar billede kongfjong Nybegynder
01. december 2005 - 11:52 #3
Kan du måske forklare hvad den function der gør, trin for trin?
Avatar billede jakobdo Ekspert
01. december 2005 - 11:53 #4
Men den funktion kan du bruge på http/ftp/mail osv...
Avatar billede kongfjong Nybegynder
01. december 2005 - 12:04 #5
Okay, jeg vil dog gerne lære mere om regular expressions, og vil self også gerne lære selv at opbygge den slags funktioner osv:)

Så hvis du evt kunne foreklar funktionen lidt nærmere, eller måske kender et sted med tutorials eller trin-for-trin forklaringer af funktioner med regular expressions
Avatar billede jakobdo Ekspert
01. december 2005 - 12:24 #6
www.regexpbuddy.com er god at lave/lære med.
Avatar billede kongfjong Nybegynder
01. december 2005 - 12:34 #7
Tak;) Tager jeg et kig på:)
Avatar billede jakobdo Ekspert
01. december 2005 - 12:55 #8
Og at begynde at forklare den funktion trin for trin, vil ikke give mening før du er en smule inde i regexp.
Avatar billede kongfjong Nybegynder
01. december 2005 - 13:00 #9
Okay;)
Avatar billede kongfjong Nybegynder
14. februar 2006 - 20:33 #10
jakobdo, ligger du et svar?
Avatar billede jakobdo Ekspert
14. februar 2006 - 20:41 #11
Svar!
Avatar billede jakobdo Ekspert
14. februar 2006 - 21:45 #12
Takker for point!
Avatar billede kongfjong Nybegynder
14. februar 2006 - 22:12 #13
Så lidt;)
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