Hi Zusammen.
Ich brauche eine Regex die mir folgendes aus ein Array ausgibt:
$string = "[bla](bla.php)";
$string .= "[bla2](bla2.php)";
if(preg\_match\_all("((a href=)[^]+)", $string, $match))
{
echo "
";
print\_r($match);
echo "
";
}
else
{
echo $txt;
}
Über diese Regex erhalte ich:
Array 1
[1] =\> a href='bla.php'
Array 2
[1] =\> a href=
Bla2 wird nicht ausgeben, ist mir klar warum, aber wie baue ich die Regex um, damit er mit das href ausgibt, egal an welcher stelle es im HTML-A-Tag steht?
Mit freundlichen Grüßen,
Sebastian
ich bin jetzt nicht so der experte mit regex…
aber Du brauchst ja einfach nur ein paar Wildcards zwischen "
laut
http://www.regenechsen.de/phpwcms/index.php?regex_al…
steht der Punkt für genau ein beliebiges Zeichen…
gemäß
http://www.regenechsen.de/phpwcms/index.php?id=69,0,…
ist der Quantifizierer so zu gestalten
{mindestvorkommen,maximalvorkommen}
Für Deinen Fall dürfte es also etwas sein wie
"
hier was ich nutzen würde.
if(preg_match_all("/]+(href=[^ >]+)/", $string, $match))
Array[0] enthält ale anker
Array[1] alle href aus Array[0]
teststring
$string = „bla“;
$string .= „bla2“;
$string .= „bla“;
$string .= „“;
$string .= „bla2“;
$string .= „“;
$string .= „bla2“;
Ausgabe :
Array
(
[0] => Array
(
[0] => Array ( [0] => href=‚bla.php‘ …
Hallo,
$string = „bla“;
$string .= „bla2“;
if(preg_match_all("((a href=)[^]+)", $string, $match))
{
…:
Über diese Regex erhalte ich:
Array 1
[1] => a href=‚bla.php‘
Array 2
[1] => a href=
Bla2 wird nicht ausgeben, ist mir klar warum, aber wie baue
ich die Regex um, damit er mit das href ausgibt, egal an
welcher stelle es im HTML-A-Tag steht?
Du hattest es schon beinahe richtig, es hat
nur noch wenig gefehlt und es hätte geklappt.
Ich würde es so machen:
$string = '
[bla](bla.php)
[bla2](bla2.php)
';
$regex = '/ # Regex-Begrenzer =\> Slash
GrüßeCMБ