Sönke Tesch: Regulärer Ausdruck: Name/Wert-Paar aus $QUERY_STRING entfernen

Beitrag lesen

Ich will aus dem Wert der Umgebungsvariable ein Name/Wert-Paar entfernen, wobei ich weder weiß an welcher Stelle im String das Name/Wert-Paar steht, noch welchen Wert es hat. Bekannt ist mir lediglich der Name.

Mal ganz blöd gefragt, aber warum benutzt du nicht einfach die String-Funktionen? Erst nach &name suchen und dann alles bis zum nächsten Und ausschneiden.

Falls dir das zu simpel ist, kannst du es mal mit /\W?name=[^&]*/i
versuchen (wobei name der Name des Wertes ist). Damit suchst du nach:

  • null oder einer Wortgrenze (\W für Wortgrenze und ? für null- oder einmal)
  • dem Namen und einem Gleichheitszeichen (name=)
  • einem beliebigen Zeichen außer dem Und-Zeichen ([^&])
  • und die beliebigen Zeichen dürfen sich beliebig oft wiederholen (*).
    Ich weiß zwar zugegebenermaßen nicht, warum das mit dem "null oder eine Wortgrenze" funktioniert, aber es geht.

Gruß,
  soenk.e