Schrift
[thread]7140[/thread]

Zeilen mit mehreren Suchbegriffen ausgeben (Seite 2)



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
Georges
 2005-07-18 19:55
#56480 #56480
User since
2005-07-14
13 Artikel
BenutzerIn
[default_avatar]
Lieber esskar,
der Code funktioniert jetzt, gibt aber sämtliche Zeilen zurück, anstatt nur die Zeilen zurückzugeben, in denen die Begriffe des Arrays @TEXTS vorkommen. Nur die Suchbegriffe sind korrekt fett dargestellt.

Gruß Georges
renee
 2005-07-18 20:03
#56481 #56481
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
  my $regex = join('|',@TEXTS);
next unless($line =~ $regex);
foreach $text (@TEXTS) {
$line=~ s/$text/<b>$text<\/b>/g;
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2005-07-18 23:53
#56482 #56482
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=Crian,18.07.2005, 16:09]Wenn Du damit durch bist -> perldoc perlstyle[/quote]
o ja.
Wiki:perldoc perlstyle (de)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Georges
 2005-07-19 02:02
#56483 #56483
User since
2005-07-14
13 Artikel
BenutzerIn
[default_avatar]
Auch die Abfrage funktioniert, liefert aber die gleichen Ergebnisse, wie die ODER-Abfrage., d.h. es werden alle Zeilen ausgegeben, in denen die Begriffe des Arrays vorkommen.

Bei der UND-Abfrage wollte ich aber nur die Zeilen erhalten, bei denen ALLE Werte des Arrays enthalten sind.

Gruß Georges
pKai
 2005-07-19 11:21
#56484 #56484
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
elsif ($BOOL eq 'und') {
my $nomatch = @TEXTS;
for my $text (@TEXTS) {
my $textnometa = quotemeta ($text);
last unless $line =~ s/$textnometa/<b>$text<\/b>/g;
--$nomatch;
}
&result unless $nomatch;
}
und esskars CODE funktioniert auch, wenn du &result in Abhängigkeit von $allokay aufrufst.

Edit: last statt next :blush:\n\n

<!--EDIT|pKai|1121757813-->
I sense a soul in search of answers.
Georges
 2005-07-20 17:50
#56485 #56485
User since
2005-07-14
13 Artikel
BenutzerIn
[default_avatar]
Es funktioniert endlich und ohne Mucken,
Danke an Alle
Georges
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2005-07-17 17:43.