Reguläre Ausdrücke - Wert VOR und NACH Sonderzeichen ermitteln

deb_ugger

Erfahrenes Mitglied
Hi!

Per Javascript übergebe ich an ein PHP-Script einen String mit IDs (index.php?contactId=4-12;4-31;4-58).
Die erste Zahl steht hier für eine Gruppen-ID, die zweite immer für eine Personen-ID. Getrennt ist die Zeichenkette durch ";". In PHP lese ich diesen String nun folgendermaßen aus:
Code:
$contactId = $_GET['contactId'];
	$arr_contactId = explode(";", $contactId);
	
	for ($i=0; $i<count($arr_contactId); $i++) {
		echo $contactId."br />";
	}

Wie kann ich jetzt in der for-schleife nochmal die Gruppen-ID und die Personen-ID trennen (also denb Wert vor und nach dem "-" Zeichen)? Ich dachte bereits an reguläre Ausdrücke, doch kenn ich mich da nur beschränkt aus - Gibts da vielleicht ein gutes Tutorial?

Danke für die Hilfe!
mfg,
debugger
 
Zuletzt bearbeitet:
PHP:
$contactId = $_GET['contactId'];
$arr_contactId = explode(";", $contactId);

for ($i=0; $i<count($arr_contactId); $i++) {
  list($vor, $nach) = split("-", $contactId);
  echo $contactId."<br />";
}
Ich habe es zwar nicht getestet, aber so ich mich nicht vertippt habe, müssten $vor und $nach die jeweiligen Werte enthalten.

redlama
 
Du könntest den Array wiederum exploden(anhand -), oder preg_match_all() verwenden
Code:
for ($i=0; $i<count($arr_contactId); $i++) {
	preg_match_all('/^(\d+)-(\d+)$/',$arr_contactId,$IDs);
       	}

Das Gewünschte findest du dann in $IDs[0] und $IDs[1]
 
Zurück