Avatar billede jalaboo Nybegynder
27. april 2001 - 15:38 Der er 11 kommentarer

find tekst : \"(.*)[<HTML>|<PHP>]([^</HTML>|</PHP>]*)[</HTML>|</PHP>](.*)\"

eregi(\"(.*)[<HTML>|<PHP>]([^</HTML>|</PHP>]*)[</HTML>|</PHP>](.*)\", $text, $match);

Jeg sidder og fumler med ovenstående. Jeg vil gerne have den til at putte alle forekomster af tekst der står udenom <HTML></HTML> eller <PHP></PHP> ind i $match.

Dvs:

Skal med <HTML>skal ikke med</HTML> skal med
Skal med <PHP>skal ikke med</PHP> skal med
Avatar billede jumper Nybegynder
27. april 2001 - 17:47 #1
Skal selve HTML tags også med ? Hvis ja, så fjern blot alt der står imellem HTML tags. Hvis nej, så fjern alle HTML tags inkl. indhold.

Fjerne tags og indhold:

/<(HTML|PHP)>[\\s\\S]*?<\\/\\1>/gi

I Javascript ville det så være

dinStreng = dinstreng.replace(/<(HTML|PHP)>[\\s\\S]*?<\\/\\1>/gi,\"\")

/Thor
Avatar billede jalaboo Nybegynder
30. april 2001 - 09:33 #2
nej :)

Jeg vil gerne have den til at putte alle forekomster af tekst der står udenom <HTML></HTML> eller <PHP></PHP> ind i $match.

Dvs:

Skal med <HTML>skal ikke med</HTML> skal med
Skal med <PHP>skal ikke med</PHP> skal med
Avatar billede jumper Nybegynder
30. april 2001 - 12:25 #3
Ja, og hvis du fjerner alle HTML og PHP tags, samt deres indhold, så er det tilbageværende også alt hvad der var udenom de tags ;)

/Thor
Avatar billede jalaboo Nybegynder
30. april 2001 - 12:40 #4
Men jeg skal også bruge det der står mellem tags. Og det skal virke i Php:

    function format2 ($text, $starttag_a, $endtag_a, $user_func) {
        // create pattern
        while (list($key, $starttag) = each($starttag_a)) {
            $pattern1 .= $starttag.\"|\";
            $pattern2 .= $endtag_a[$key].\"|\";
        }
        $pattern1 = substr($pattern1, 0, -1);
        $pattern2 = substr($pattern2, 0, -1);
        $pattern = \"(.*)(\".$pattern1.\")(.*)?(\".$pattern2.\")(.*)\";
        // search
        while (eregi($pattern, $text, $match)) {
            $new_text = call_user_func($user_func, $match[3], $match[2]);
            $text = str_replace($match[2].$match[3].$match[4], $new_text, $text);
        }
        return $text;
    }

Problemet er at den p.t. er langsom.
Avatar billede razor Nybegynder
30. maj 2001 - 11:22 #5
$match = ereg_replace(\"</?(HTML)|(PHP)>\",\"\",$text);
Avatar billede jalaboo Nybegynder
08. juni 2001 - 14:44 #6
razor, hvordan bruger jeg den ?
Avatar billede jalaboo Nybegynder
19. juni 2001 - 14:37 #7
razor ?
Avatar billede jalaboo Nybegynder
25. juni 2001 - 14:30 #8
razor ?
Avatar billede jd Nybegynder
25. juli 2001 - 02:37 #9
([^</HTML>|</PHP>]*)

Ovenstående vil mig bekendt ikke virke som forventet. Du kan ikke udelukke en hel streng - kun ét tegn.
Avatar billede trasher Nybegynder
16. november 2001 - 10:53 #10
Har du fundet en løsning her ??
Avatar billede teaspoon Nybegynder
17. juli 2002 - 16:41 #11
lidt sent :)

men:

$newstr = preg_replace("/<(html|php)>.*?<\/(html|php)>/is", "¤§¤§¤", $text);
$match = (explode("¤§¤§¤", $newstr));
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
Kurser inden for grundlæggende programmering

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