Nur einen Bereich aus einer Variable ausgeben

seuchenvogel

Grünschnabel
Nabend,
bin entzwischen schon am verzweifeln.
Vielleicht hat von euch jemand eine Idee?!

Mit folgendem Code kann ich mir ja alles zwischen zwei strings anzeigen lassen.
Code:
$wert = "hier und dort(bla(tritra und trulala) und blubb(muh und kuh)) und soweiter";
$startstring = "dort(";
$endstring= ")";

	if ($resa = strstr($wert, $startstring)) {
		$resb = str_replace($startstring, "", $resa);
		$endstueck = strstr($resb, $endstring);
		$schnipsel = str_replace($endstueck,"",$resb);
		echo $schnipsel;
	}

Ausgegeben wird mir hier folgendes:
"bla(tritra und trulala"

Es wird also bei der ersten geschlossenen Klammer abgebrochen.
Nun möchte ich aber, dass mir folgendes ausgegeben wird:
"bla(tritra und trulala) und blubb(muh und kuh)"

Jetzt muss ich ja irgendwie zählen wieviel Klammern ab meinem $startstring auf und zu gemacht werden um zu ermitteln welches die dazugehörige geschlossene Klammer ist.

Bin über jede Hilfe dankbar.
 
Was du suchst sind reguläre Ausdrücke.
PHP:
$str = "hier und dort(bla(tritra und trulala) und blubb(muh und kuh)) und soweiter";
preg_match('/dort\((.*)\)/', $str, $match);
echo $match[1];

Super Tutorial gibt es hier: Regex Tutorial
 
Traumhaft, ich danke dir für die schnelle Hilfe ;)
Ich wusste doch das es da irgendwas simples geben muss..

Hatte versucht das über diverse schleifen etc zu lösen, aber bin auf kein Ergebnis gekommen.
Wäre ich nur mal auf die Idee gekommen vor 2 Tagen schon zu fragen. :-/

Kann nun endlich weiter arbeiten.
Komme dank dem preg_match meinem Ziel langsam aber sicher näher.
 
Zurück