/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
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. &lt;/&gt;)
use HTML::Entities;
$stripped = strip_tags($html, callback =>
\&HTML::Entities::encode_entities);

etc.

--
Trond Michelsen




Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste