Hello,
in http://www.rrz.uni-hamburg.de/RRZ/W.Wiedl/Skripte/CGI-Perl/Regulaere_Ausdruecke/REIntro.htm#1.1 und anderen Quellen habe ich gelesen, das der Punkt als Metazeichen für alle Zeichen, außer "\n" steht.
Ich habe mir zur Lösung einer Aufgabe eine Funktion aus dem Archiv gepult von Horst Nogajski.
http://forum.de.selfhtml.org/archiv/2004/10/t92580/#m558300
um alle Hyperreferenzen in einer Seite zu finden.
Hab sie erstmal umgebaut, um diese RegExps endlich mal zu verstehen...
function get_urls($page)
{
$_urls = array();
$_a = array();
$newpage = '';
// 1 2 3 4 <5> 6 7
$pattern = '=^(.*?)(<area|<a|<img)(.*?)(href=|src=)"|'"|'(>.*$|>.*?</a>.*$)=msi';
while(preg_match($pattern, $page, $_a))
{
if(count($_a)>1)
{
$page = $_a[7];
#$newpage .= $_a[1].$_a[2].$_a[3].$_a[4].'"'.rewrite_url($_a[5]).'"'.$_a[6];
$_urls[] = $_a[5];
}
}
# return $newpage.$page;
return $_urls;
}
Nun steht in der Seite, die ich testhalber durchsuchen lasse, aber
<center><p><a href="http://www.bitworks.de/?link=harte-harzer"
target="bitworks"><img border="0"
src="gfx/bitworks_head_small.gif"
alt="bitworks Logo"
title="frag doch bitworks..."
width="100" height="40"></a></p></center>
drin.
Es befinden sich nach dem "<img" also auch ein Umbruch, bevor das "src=" folgt.
Wieso findet die Funktion die Bildreferenz trotzdem?
Das gefällt mir zwar, weil es so arbeitet, wie ich es benötige, aber es würe mir noch besser gefallen, wenn ich es auch verstehen könnte.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau