Bill: Mit str_replace etwas Unbekanntes löschen?

Mahlzeit,

kann ich mit str_replace etwas unbekanntes nach folgendem Motto löschen?
$test=str_replace("abc*","-",$test);

Also soll hier alles gelöscht wreden, was

abc123 oder
abc oder
abc_/&%$§ oder oder oder

entspricht.

Geht das oder muß ich hier doch zu einem regEx greifen?

Und wenn ja, wie?

Bill

  1. Hier braucht es reguläre Ausdrücke und eine leicht anders lautende Funktion.

    $test = preg_replace( '/abc.*/', 'abc', $test );

    Der Punkt steht für ein beliebiges Zeichen und der Stern sagt aus, dass davon 0 bis unendlich viele vorkommen können. Die Schrägstriche gehören hier einfach zum regex dazu.

    1. Hier braucht es reguläre Ausdrücke und eine leicht anders lautende Funktion.

      $test = preg_replace( '/abc.*/', 'abc', $test );

      Der Punkt steht für ein beliebiges Zeichen und der Stern sagt aus, dass davon 0 bis unendlich viele vorkommen können. Die Schrägstriche gehören hier einfach zum regex dazu.

      Hallo Seba,

      ok. Mit der Anleitung habe ich es verstanden. Dafür vielen Dank an Dich.
      Leider rasiert diese RegEx nun alles nach "abc" ab. Das soll sie aber nicht.
      Sie soll nur bis zum nächsten &-Zeichen rasieren.

      Kann man das noch einstellen?

      Viele Grüße, Bill

      1. Sie soll nur bis zum nächsten &-Zeichen rasieren.

        Kann man das noch einstellen?

        Natürlich, das & hat keine Sonderbedeutung in einem PCRE.

  2. kann ich mit str_replace etwas unbekanntes nach folgendem Motto löschen?
    $test=str_replace("abc*","-",$test);

    Also soll hier alles gelöscht wreden, was

    abc123 oder
    abc oder
    abc_/&%$§ oder oder oder

    Was deffiniert das Ende des zu löschenden?

    Geht das oder muß ich hier doch zu einem regEx greifen?

    Du kannst auch mit str_pos() und substr() arbeiten.