gondor: Mail wieder preg_match-Problem ;-)

Beitrag lesen

Hallo,

wahrscheinlich die x'te Anfrage zu regulären Ausdrücken...

Sorry, aber ich habe schon lange vergeblich versucht. Hier mein Problem:

Ich möchte innerhalb eines Strings nach einem Wort suchen:

Der String kann folgend aussehen:

$string = '<p>Text</p><p>###last_order</p><p>Text</p>';

oder

$string = '<p>Text</p><p>###last_order_mwst</p><p>Text</p>';

  
if (preg_match("/###last_order/i", $string)) {  
echo "Es wurde eine Übereinstimmung gefunden.";  
} else {  
echo "Es wurde keine Übereinstimmung gefunden.";  
}  
  
if (preg_match("/###last_order_mwst/i", $string)) {  
echo "Es wurde eine Übereinstimmung gefunden.";  
} else {  
echo "Es wurde keine Übereinstimmung gefunden.";  
}  

Bei der ersten Variante kommt:

Es wurde eine Übereinstimmung gefunden.
Es wurde keine Übereinstimmung gefunden.

Bei der zweiten Variante kommt:

Es wurde eine Übereinstimmung gefunden.
Es wurde eine Übereinstimmung gefunden.

Hier liegt der Fehler. Ich möchte bei der zweiten Variante nur dann eine
Übereinstimmung haben, wenn auch wirklich 'last_order_mwst' im String
enthalten ist und nicht bei einem Teilstring 'last_order...'

Wie komme ich also zu dieser Ausgabe?

Es wurde keine Übereinstimmung gefunden.
Es wurde eine Übereinstimmung gefunden.

Danke für Hilfe,
gondor(..)