Font
[thread]5672[/thread]

Regulärer Ausdruck: ..Link filtern..

Tags: Similar Threads

Reader: 1


<< >> 5 entries, 1 page
guest 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 articles
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 articles
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 articles
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
5838 articles
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 entries, 1 page



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