kevin: preg_grep-Suche invertieren...

Hallo!

Wie geht @neu = grep(!/^something$/,@alt); in PHP?

$neu = preg_grep(!"/^something$/",$alt); funktioniert genauso wenig wie $neu = preg_grep("!/^something$/",$alt);, und http://de3.php.net/manual/en/function.preg-grep.php ist nicht grade informativ in der Hinsicht.

Zur Erklärung: Ich möchte, daß $neu (array) alle Werte aus $alt (auch array) enthält, die nicht auf die RegEx /^something$/ zutreffen.

Dank!
Kevin

  1. Hi

    Weis denn keiner, wie das geht? Ich hab schon alle möglichen Manuals abgesucht, aber nix gefunden... Bitte bitte ´:))

    Gruß

  2. Hallo Kevin

    probier's mal damit:
    $neu = preg_grep("/[^(^something$)]/",$alt);

    Zumindest wenn something ein string ist, geht das. Wenn something eine andere regexp ist, kann es aber Probleme geben.

    Claudia

    1. Hi Claudia!

      probier's mal damit:
      $neu = preg_grep("/[^(^something$)]/",$alt);

      Zumindest wenn something ein string ist, geht das. Wenn something eine andere regexp ist, kann es aber Probleme geben.

      Ist leider kein einfacher String. Ich hab's aber inzwischen rausbekommen wie es geht. Mit einem Switch namens "PREG_GREP_INVERT":

      preg_grep ("/^".$value."$/", $array, PREG_GREP_INVERT);

      Gruß
      kevin