Avatar billede vladimirr Nybegynder
15. maj 2001 - 11:24 Der er 6 kommentarer og
1 løsning

Hvorfor indsættes der semikolon automatisk på eksperten ?

Jeg havde problemet her -> http://www.eksperten.dk/spm/72825

Når jeg indsætter :

<FRAME SRC=\"http://200.200.200.10/\"

Indsætter eksperten et semikolon efter det!

//Anders
Avatar billede admin Novice
15. maj 2001 - 11:26 #1
Det er en fejl vi skal have rettet :)
Avatar billede admin Novice
15. maj 2001 - 11:27 #2
Her er årsagen:

<?
    class tagster {

        function email_tagster ($str) {

            $goodchars1 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";
            $goodchars2 = \".-_\";

            $mailto_tag1 = \"<A HREF=\\\"mailto:\";
            $mailto_tag2 = \"\\\">\";
            $mailto_tag3 = \"</A>\";

            // find antal @
            $ats = count_chars($str);
            $ats = $ats[ord(\"@\")];

            do {

                $ats_n++;
                $pos_at = intval(strpos($str, \"@\", $pos_at));
                $passed_dot = false;

                if ($pos_at == 0) {
                    break;
                }

                $strlen = strlen($str);

                // find start
                for ($n = ($pos_at - 1); $n > 0; $n--) {        // spol tilbage indtil vi finder bad char.
                    if (strpos($goodchars1.$goodchars2, substr($str, $n, 1)) === false) {
                        $n++;
                        break;
                    }
                }
                // sørg for at vi ikke starter med $goodchars2
                for ($n = $n; $n <= $strlen; $n++) {            // spol frem indtil vi finder good char.
                    if (strpos($goodchars2, substr($str, $n, 1)) === false) {
                        break;
                    }
                }
                $pos_start = $n;

                // find end
                for ($n = ($pos_at + 1); $n <= $strlen; $n++) {    // spol frem indtil vi finder good char.
                    if (!$passed_dot && substr($str, $n, 1) == \".\") {
                        $passed_dot = true;
                    }
                    if (strpos($goodchars1.$goodchars2, substr($str, $n, 1)) === false) {
                        break;
                    }
                }
                // sørg for at vi ikke ender med $goodchars2
                do {
                    $n--;
                    if (strpos($goodchars2, substr($str, $n, 1)) === false) {
                        $n++;
                        break;
                    }
                } while ($n > 0 && !(strpos($goodchars2, substr($str, $n, 1)) === false));
                $pos_end = $n;

                $email = substr($str, $pos_start, $pos_end - $pos_start);
                $pos_plus = strlen($mailto_tag1.$mailto_tag2.$mailto_tag3.$email);
                $email = $mailto_tag1.$email.$mailto_tag2.$email.$mailto_tag3;

                if ($pos_at == $pos_start || $pos_at == ($pos_end - 1) || !$passed_dot) {
                    $is_email = false;
                } else {
                    $is_email = true;
                }

                if ($is_email) {
                    $new_str  = substr($str, 0, $pos_start);
                    $new_str .= $email;
                    $new_str .= substr($str, $pos_end);

                    $str = $new_str;
                    $strlen = strlen($str);

                    $pos_at = $pos_end + $pos_plus;
                } else {
                    $pos_at = $pos_end;
                }

            } while ($ats_n <= $ats);

            return $str;
        }

        function url_tagster ($str) {

            $start_tag_array = array(\"www.\", \"http://\");
            $goodchars1 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";
            $goodchars2 = \".-\";
            $goodchars3 = \"/_#?&=~;,\";

            $link_tag_1 = \"<A HREF=\\\"\";
            $link_tag_2 = \"\\\" TARGET=\\\"_blank\\\">\";
            $link_tag_3 = \"</A>\";
            $link_tag_4 = \"http://\";

            $strlen = strlen($str);

            // find antal start tags
            $start_tags1 = explode($start_tag_array[0], $str);
            $start_tags2 = explode($start_tag_array[1], $str);
            $start_tags = count($start_tags1) + count($start_tags2) - 2;

            do {

                $start_tags_n++;
                $passed_slash = false;
                $passed_dot = false;

                // find start tag
                $pos_start_1 = strpos(strtolower($str), $start_tag_array[0], $pos_start);
                $pos_start_2 = strpos(strtolower($str), $start_tag_array[1], $pos_start);

                if ($pos_start_1 === false && $pos_start_2 === false) {
                    break;
                }

                if ($pos_start_1 === false) { $pos_start_1 = $strlen; }
                if ($pos_start_2 === false) { $pos_start_2 = $strlen; }

                if ($pos_start_1 < $pos_start_2) {
                    $pos_start = $pos_start_1;
                    $pos_search = $pos_start + strlen($start_tag_array[0]);
                } else {
                    $pos_start = $pos_start_2;
                    $pos_search = $pos_start + strlen($start_tag_array[1]);
                }

                // find end tag
                for ($n = $pos_search; $n <= $strlen; $n++) {
                    if (!$passed_slash && substr($str, $n, 1) == \"/\") {
                        $passed_slash = true;
                    }
                    if (!$passed_slash && !$passed_dot && substr($str, $n, 1) == \".\") {
                        $passed_dot = true;
                    }
                    if ($passed_slash) {
                        // vi er forbi /
                        if (strpos($goodchars1.$goodchars2.$goodchars3, substr($str, $n, 1)) === false) {
                            break;
                        }
                    } else {
                        // vi er ikke forbi /
                        if (strpos($goodchars1.$goodchars2, substr($str, $n, 1)) === false) {
                            break;
                        }
                    }
                }
                // sørg for at vi ikke ender med $goodchars2 eller $goodchars3
                do {
                    $n--;
                    if (strpos($goodchars2.$goodchars3, substr($str, $n, 1)) === false) {
                        $n++;
                        break;
                    }
                } while ($n > 0 && !(strpos($goodchars2.$goodchars3, substr($str, $n, 1)) === false));
                // JFL:20010514 vi skal forbi ;
                $pos_end = $n;

                $link = substr($str, $pos_start, $pos_end - $pos_start);
                $pos_plus = strlen($link_tag_1.$link_tag_2.$link_tag_3.$link);
                if (strtolower(substr($link, 0, strlen($link_tag_4))) != $link_tag_4) {
                    $pos_plus = $pos_plus + strlen($link_tag_4);
                    $link = $link_tag_1.$link_tag_4.$link.$link_tag_2.$link.$link_tag_3;
                } else {
                    $link = $link_tag_1.$link.$link_tag_2.$link.$link_tag_3;
                }

                if ($passed_dot) {
                    $new_str  = substr($str, 0, $pos_start);
                    $new_str .= $link;
                    $new_str .= substr($str, $pos_end);

                    $str = $new_str;
                    $strlen = strlen($str);

                    $pos_start = $pos_end + $pos_plus;
                } else {
                    $pos_start = $pos_end;
                }

            } while ($start_tags_n <= $start_tags);

            return $str;

        }

    }
?>
Avatar billede parazite Nybegynder
15. maj 2001 - 11:29 #3
WooHoo! Eksperten.dk er blevet open-source! *LoL*
Avatar billede webmasterdk Praktikant
15. maj 2001 - 11:30 #4
øhhh, okay! :)
Avatar billede vladimirr Nybegynder
15. maj 2001 - 12:23 #5
Det er bare lidt træls at der kommer et ; på en kodestump....
Avatar billede admin Novice
15. maj 2001 - 12:25 #6
Vi skal selvfølgelig have rettet fejlen, men er pt tidspresset :)
Avatar billede vladimirr Nybegynder
15. maj 2001 - 12:37 #7
Det er også helt i orden, bare i ved at den er der, så bliver det jo nok ordnet på et eller andet tidspunkt.
Der er sikkert noget der er vigtigere at få rettet først.

//Anders
Over & Out
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
Alle kurser indenfor Microsoft 365 – både til begyndere og øvede.

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