|  | 		    
					
        
         
          
         
	
          | |  | Søge en streng efter specielle ord Fra : weaxler
 | 
 Dato :  04-05-01 09:17
 | 
 |  | Jeg ved hvordan man søger en fil igennem efter en speciel linie, men mit
 problem er at søge en streng efter specielle org, og derefter gemme disse i
 en ny streng...
 
 weaxler
 
 
 
 
 |  |  | 
  Lars Balker Rasmusse~ (04-05-2001) 
 
	
          | |  | Kommentar Fra : Lars Balker Rasmusse~
 | 
 Dato :  04-05-01 09:19
 | 
 |  | "weaxler" <weaxler@cs.auc.dk> writes:
 > men mit problem er at søge en streng efter specielle org, og derefter
 > gemme disse i en ny streng...
 
 Det der kan betyde mange forskellige ting, så beskriv det lidt bedre.
 
 Og læs "perldoc perlre"!
 --
 Lars Balker Rasmussen                                  "Special is bad."
 
 
 |  |  | 
  weaxler (04-05-2001) 
 
	
          | |  | Kommentar Fra : weaxler
 | 
 Dato :  04-05-01 09:29
 | 
 |  | Ok, sorry min beskrivelse ikke var så god.
 Det jeg har nu er en kæmpe lang streng, en del af en hjemmeside, som ligger
 i variablen $data, denne skal gerne søges igennem efter specielle sætninger,
 og disse skal gemmes i forskellige arrays, alt efter hvad de indeholder.
 
 Håber denne forklaring siger lidt mere om det...
 
 weaxler
 
 
 
 
 
 |  |  | 
   Lars Balker Rasmusse~ (04-05-2001) 
 
	
          | |  | Kommentar Fra : Lars Balker Rasmusse~
 | 
 Dato :  04-05-01 09:29
 | 
 |  | "weaxler" <weaxler@cs.auc.dk> writes:
 > Ok, sorry min beskrivelse ikke var så god.
 > Det jeg har nu er en kæmpe lang streng, en del af en hjemmeside, som ligger
 > i variablen $data, denne skal gerne søges igennem efter specielle sætninger,
 > og disse skal gemmes i forskellige arrays, alt efter hvad de indeholder.
 
 if ($data =~ /(sætning 1)/) {
 push @s1, $1;
 }
 elsif ($data =~ /(sætning 2)/) {
 push @s2, $1;
 }
 elsif ($data =~ /(sætning 3)/) {
 push @s3, $1;
 }
 --
 Lars Balker Rasmussen                                  "Special is bad."
 
 
 |  |  | 
    Thomas Jespersen (04-05-2001) 
 
	
          | |  | Kommentar Fra : Thomas Jespersen
 | 
 Dato :  04-05-01 12:51
 | 
 |  | Lars Balker Rasmussen <lars@balker.org> writes:
 
 > if ($data =~ /(sætning 1)/) {
 >     push @s1, $1;
 > }
 > elsif ($data =~ /(sætning 2)/) {
 >     push @s2, $1;
 > }
 > elsif ($data =~ /(sætning 3)/) {
 >     push @s3, $1;
 > }
 
 ... kombineret med at man piller html-tags ud af søgestrengen først for
 at "dette er en søgestreng" også matcher "dette er en <b>søgestreng</b>"
 
 
 |  |  | 
  Thorbjørn Ravn Ander~ (04-05-2001) 
 
	
          | |  | Kommentar Fra : Thorbjørn Ravn Ander~
 | 
 Dato :  04-05-01 12:44
 | 
 |  | 
 weaxler wrote:
 > 
 > Jeg ved hvordan man søger en fil igennem efter en speciel linie, men mit
 > problem er at søge en streng efter specielle org, og derefter gemme disse i
 > en ny streng...
 Vis os den kode du allerede har lavet.
 -- 
   Thorbjørn Ravn Andersen                "...plus...Tubular Bells!"
  http://bigfoot.com/~thunderbear |  |  | 
  weaxler (04-05-2001) 
 
	
          | |  | Kommentar Fra : weaxler
 | 
 Dato :  04-05-01 14:27
 | 
 |  | 
 
            jeg er kommet så langt at jeg skal parse en streng, og fjerne alt imellem
 tags og selve tags.
 Eksempel: hej<fjern det>hej, bliver til hej hej
 jeg bruger følgende metode:
 sub search_text
 {
     $tempo = $_[0];
     print("$tempo");
     $tempo =~ s/\b<\w*\b/ /ig ;
     print "-----------prints tempo 2---------\n";
     print("$tempo");
 }
 Metoden kaldes med den omtalte streng.
 men det er som om den ikke kan bruge <...> i denne form for replace.
 weaxler
 "Thorbjørn Ravn Andersen" <thunderbear@bigfoot.com> wrote in message
 news:3AF295F6.7EF62932@bigfoot.com...
 >
 >
 > weaxler wrote:
 > >
 > > Jeg ved hvordan man søger en fil igennem efter en speciel linie, men mit
 > > problem er at søge en streng efter specielle org, og derefter gemme
 disse i
 > > en ny streng...
 >
 > Vis os den kode du allerede har lavet.
 >
 > --
 >   Thorbjørn Ravn Andersen                "...plus...Tubular Bells!"
 >   http://bigfoot.com/~thunderbear |  |  | 
   Trond Michelsen (04-05-2001) 
 
	
          | |  | Kommentar Fra : Trond Michelsen
 | 
 Dato :  04-05-01 17:27
 | 
 |  | "weaxler" <weaxler@cs.auc.dk> wrote in message
 news:9cuaf5$sj1$1@sunsite.dk...
 > jeg er kommet så langt at jeg skal parse en streng, og fjerne alt
 imellem
 > tags og selve tags.
 
 Først og fremst: Når du jobber med HTML, så er det absolutt tryggest å
 bruke HTML::Parser eller en-eller-annen modul som benytter HTML::Parser
 (f.eks HTML::Filter)
 
 
 Hvis du bare skal strippe vekk alle HTML-tags, så kan du bruke en
 funksjon som dette:
 
 sub strip_tags ($;@) {
 my ($html, %opts) = @_;
 
 # Her settes hvilke tagger som skal tillates pr. default. (ingen)
 my %allowed_tag;
 
 # Default callback (returnerer tom streng)
 my $callback = sub { '' };
 
 if (exists $opts{allowed} && ref $opts{allowed} eq "ARRAY") {
 @allowed_tag{map lc $_, @{ $opts{allowed} } } = ();
 }
 if (exists $opts{callback} && ref $opts{callback} eq "CODE") {
 $callback = $opts{callback};
 }
 $html =~ s{ ( < /?  # start - kan være en end-tag.
 ( [a-zA-Z] [a-zA-Z0-9.-]{0,33} )       # tagnavn
 (?: [^>\"\'] | "[^\"]*" | '[^\']*' )*  # resten
 > )   # slutt
 } {exists $allowed_tag{lc $2} ? $1 : $callback->($1)}egx;
 return $html;
 }
 
 
 # Slett alle tags:
 $stripped = strip_tags($html);
 
 # Slett alle tags unntatt "hr" og "br"
 $stripped = strip_tags($html, allowed => ["br", "hr"]);
 
 # behold tags, men konvertér dem til entities (bl.a. </>)
 use HTML::Entities;
 $stripped = strip_tags($html, callback =>
 \&HTML::Entities::encode_entities);
 
 etc.
 
 --
 Trond Michelsen
 
 
 
 
 
 |  |  | 
 |  |