Schrift
[thread]5672[/thread]

Regulärer Ausdruck: ..Link filtern..

Tags: Ähnliche Threads

Leser: 1


<< >> 5 Einträge, 1 Seite
Gast Gast
 2003-08-31 00:48
#81731 #81731
Hallo,
mein Script:
foreach(@foo)
{
if($_ =~/<a.*>.*<\/a>/g) {
print $_;
}
}

hilft mir nicht weiter, denn direkt hinter dem Link könnte sich ein html-tag befinden, also wird dieses mitgefiltert..
zum beispiel:
<a href="bla">blubb</a><img ...usw.

wie kann ich NUR den Link herausfiltern?
jan
 2003-08-31 00:53
#81732 #81732
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
<a[^>]+>.*?<\/a>

wieso sollte da ein nachstehendes tag mitgefiltert werden?
[E|B]
 2003-08-31 01:47
#81733 #81733
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Hi!

Code: (dl )
print if /^<a href=".+">.+</a>$/gi for (@foo);


Endlich mal nochmal ein Einzeiler! Yeah! 8)
Untested!
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Heromaster
 2003-08-31 03:46
#81734 #81734
User since
2003-08-05
220 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
foreach $foo (@foo) { 
$foo =~ s/^\<a.*\>(.*)\<$/$1/gi;
push(@links,$foo);
}
\n\n

<!--EDIT|Heromaster|1062287661-->
Derjenige, der zwei Hasen jagt, lässt einen zurück und verliert den anderen.
Crian
 2003-09-01 16:13
#81735 #81735
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Auch wenn es momentan keine anderen HTML-Tags gibt, die mit a anfangen, sollte man hinter dem a ein \s spendieren -->
Code: (dl )
<a(?:\s[^>]*)?>

. Außerdem sollte man nicht alle Zeichen zulassen, sondern alle außer der schließenden spitzen Klammer.

Sonst kann es passieren, dass Du nicht genau das bekommst, was Du eigentlich wolltest, etwa bei einer Zeile wie dieser:
Code: (dl )
 bla bla <a href="xyz">boaahh</a> blubber <a href="abc">klickhier</a> bla bla
\n\n

<!--EDIT|Crian|1062418673-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 5 Einträge, 1 Seite



View all threads created 2003-08-31 00:48.