heinetz: kleiner Tipp zu regex

Beitrag lesen

Hallo Forum,

ich durchsuche einen String nach Links, die einem bestimmten Muster folgen und manipuliere diese mit preg_replace_callback. Das Suchmuster sieht so aus:

'/(<a.*href=")(./?site_id=|?site_id=)(\d+)([^"]?)([^"]*)/'

Wobei der relevante Teil folgender ist:

'/(<a.*href=")/'

Nun bin ich auf einen Bug gestossen:

<a href="./?site_id=1">test a</a>
... passt in das Muster wie erwartet.
$1 = '<a href=';
$2 = '"./?site_id=';
$3 = 1

<a href="./?site_id=1">test a</a> <a href="./?site_id=2">test b</a>
... passt auch
$1 = '<a href="./?site_id=1">test a</a> <a href="';
$2 = '"./?site_id=';
$3 = 2

Was ist der Ansatz, das Muster anzupassen?

danke für Tipps und

beste gruesse,
heinetz