|
| 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
| |
|
|