Roland: erreg-Problem mit Sonderzeichen

Hallo, ich komme mit den beliebten regulären Ausdrücken nicht weiter.
Ich möchte in einer Schleife strings filtern, die ein * enthalten.
Leider ohne Erfolg, da das script nicht, wie beabsichtigt beim auffinden eines Strings vorzeitig terminiert wird, sondern durchläuft.
Beim Ergebnis mit Buchstaben anstelle des * klappt das prima.
Egal, ob ich nun das * als '*' oder mit dem ascii-Code deklariere (siehe unten), es klappt einfach nicht.

$teststring="Bäcker *";

if (eregi('*', $teststring))
    {
    echo "'$string' gefunden!";
    die;
     }

oder

if (eregi(chr(42), $teststring))
    {
    echo "'$string' gefunden!";
    die;
     }

Wie muss die Anweisung lauten?

  1. Hallo, ich komme mit den beliebten regulären Ausdrücken nicht weiter.

    Du nutzt die "unbeliebte" POSIX-Variante ;)

    Ich möchte in einer Schleife strings filtern, die ein * enthalten.

    Definiere "filtern".

    Leider ohne Erfolg, da das script nicht, wie beabsichtigt beim auffinden eines Strings vorzeitig terminiert wird, sondern durchläuft.

    Works as designed, der * hat eine Sonderbedeutung.

    Wie muss die Anweisung lauten?

    Das ist nicht die Frage, die Frage ist: Was ist dein eigentliches Problem? Glaubst du nicht, dass es wesentlich schlauere Lösungen dafür gäbe?