Sven: Erste RegEx-Versuche (:

Beitrag lesen

Ist /=+Suchwort=+.*=+.*=+/ denn richtiger?

Das + bezieht sich immer nur auf das EINE vorherige Zeichen richtig?
Und ist .* richtig um alle Zeichen inklusive Zeilenumbrüche einzufangen?

Okay, mitlerweile bin ich bei $pattern = "/.*=+ Test =+(.*)=+.*=+.*/s"; angekommenn.

Das s benutze ich damit auch Zeilenumbrüche klappen und die Klammer damit ich auf den Inhalt rückreferenzieren kann. Nun haperts noch am 'greedy' Verhalten:

	$pattern = "/.*=+ Test =+(.*)=+.*=+.*/s";  
	  
	$searchItem = "  
	  
Vorher  
  
 ========= Test =========  
  
Testinhalt  
  
========= Test2 =========  
  
Test2inhalt  
  
 =========Test3=========  
  
Test3inhalt  
  
=========Test4=========  
  
Test4inhalt  
  
=== Aha ==";  
  
	print preg_replace($pattern, "$1", $searchItem);

Das gibt

[code html]Testinhalt ========= Test2 ========= Test2inhalt =========Test3========= Test3inhalt =========Test4========= Test4inhalt === Aha [/code]

aus.

Daran, das nach Aha die == fehlen, meine ich zu erkennen das mein Pattern zu gierig ist. Wo ich jetzt wie die ? einsetzen muss damit ich nurnoch Testinhalt zur Ausgabe habe, da hapert es noch..

Über Tipps wäre ich sehr dankbar