Suchmuster

Hi,

ich hab noch ne Frage...
Wie muss ich das Array dann ausgeben lassen?(wenn ich in den zudurchsuchenden Text, 2 Links mache, wird bei pritn_r immer nur der erste angezeigt...)
Hier mal der Code:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
</head>

<body>
<?php
$str = "<li><a href=\"test.html\">Linktext</a></li><li><a href=\"test1.html\">Linktext1</a></li>";
preg_match_all("#<a[^>]+?href=(\x22[^\x22]+\x22|\x27[^\x27]+\x27|[^\x20]+)[^>]*?>(.+?)</a>#Uis",
               $str,
               $ausgabe);
print_r($ausgabe);

?>
</body>
Ausgabe:

PHP:
# Array ( [0] => Array ( [0] => LinktextLinktext1  )
 [1] => Array ( [0] => "test.html" ) 
 [2] => Array ( [0] => Linktext
# Linktext1 ) )
Thx

pMx
 
Zuletzt bearbeitet:
Bei mir kommt da etwas ganz anderes raus. Egal. So funktionert es.
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
</head>

<body>
<?php
$str = "<li><a href=\"test.html\">Linktext</a></li><li><a href=\"test1.html\">Linktext1</a></li>";
preg_match_all("#<a[^>]+?href=(\x22[^\x22]+\x22|\x27[^\x27]+\x27|[^\x20]+)[^>]*?>(.*)</a>#Uis",
               $str,
               $ausgabe);
print_r($ausgabe);

?>
</body>
Habe einfach (.+?) durch (.*) ersetzt.
 
Zurück