Ohne Frust effektiv arbeiten

Teil 3: Workshop: Strings in PHP verarbeiten: Regular Expressions

22.7.2009 von Redaktion pcmagazin und Timo Haberkern

ca. 1:55 Min
Ratgeber
  1. Workshop: Strings in PHP verarbeiten: Regular Expressions
  2. Teil 2: Workshop: Strings in PHP verarbeiten: Regular Expressions
  3. Teil 3: Workshop: Strings in PHP verarbeiten: Regular Expressions
  4. Teil 4: Workshop: Strings in PHP verarbeiten: Regular Expressions

Modifikatoren

Modifikatoren werden, wie eingangs bereits erwähnt, nach dem Ende des Musters definiert. Folgende Modifikatoren kommen am häufigsten zum Einsatz:

i  Groß-/Kleinschreibung wird ignoriert • m  Bei mehrzeiligen Texten wird jede Zeile separat behandelt, dies ist besonders beim Einsatz von ^ und $ sinnvoll • x  mit diesem Modifikator werden Leerzeichen bei der Suche ignoriert.

Alternierung

Reguläre Ausdrücke machen selbst vor boolschen Ausdrücken nicht halt. So lassen sich Alternativen definieren, die mit dem logischen ODER verknüpft sind.

<?php
if (preg_match(,/^Ich mag (weißen|
roten) Wein/', ,Ich mag weißen Wein')) { echo "Treffer weiß"; }
if (preg_match(,/^Ich mag (weißen|
roten) Wein/', ,Ich mag roten Wein')) { echo "Treffer rot"; } ?>

In diesem Fall führen beide Texte zu einem Treffer, da die beiden Begriffe "weißen" und "roten" gültige Werte sind. Alternierungen lassen sich durch Klammern beliebig schachteln.

Ersetzen

Die Suche nach Mustern ist nicht das Einzige, was Reguläre Ausdrücke leisten. Auch das Ersetzen der gefundenen Textstellen ist in den meisten Programmiersprachen möglich. In Falle von PHP geschieht dies mit dem Befehl preg_replace.

<?php
$text = "Orangensaft schmeckt gut";
$suche = "/orangen/i";
echo preg_replace($suche,
,Apfel', $text); ?>

Ausgabe: Apfelsaft schmeckt gut

Die Verwendung des Modifikators i sorgt dafür, dass der Suchbegriff unabhängig von Groß-und Kleinschreibung gefunden wird. Im Falle von Ersetzungen wird von sogenannten Rückreferenzierungen Gebrauch gemacht. Dies sind nummerierte Referenzen auf Teile der gefundenen Textstellen.

Strings in PHP verarbeiten
Mit Regulären Ausdrücken lassen sich einfache und trotzdem mächtige Suchmuster erzeugen.
© Archiv

Vereinfacht lässt sich sagen, dass für alle Teile eines Regulären Ausdrucks, der in einer Klammer geschrieben wird, eine nummerierte Rückreferenz gebildet wird. Dadurch werden beispielsweise Ersetzungen wie im folgenden Beispiel möglich.

<?php
$text = ,15.02.2009';
$suche = ,/(\d+)\.(\d+)\.(\d+)/';
$ersetzung = ,${2}/${1}/${3}';
echo preg_replace($suche,
$ersetzung, $text);
?>

Ausgabe: 02/15/2009

Da hier die jeweiligen Teile des Datums durch Klammersetzung gruppiert wurden, können diese durch die nummerierten Referenzen direkt angesprochen werden.

Kompakte Syntax

Wie anhand der gezeigten Beispiele zu sehen ist, lassen sich Suchmuster mit Regulären Ausdrücken einfach und vor allem sehr kompakt definieren.

Wozu oftmals mehrere Zeilen Quelltext oder ganze Funktionen notwendig wären, das kann mit einem kurzen Muster abgehandelt werden. Dies ist sowohl ein Vor- als auch ein Nachteil, da ein Regulärer Ausdruck durch seine doch recht kryptische Schreibweise schnell unübersichtlich werden kann.

Die Kompaktheit kann zudem auch auf die Spitze getrieben werden. Im Netz finden in regelmäßigen Abständen Wettbewerbe statt, in denen die Herausforderung darin liegt, eine Aufgabe mit Regulären Ausdrücken mit möglichst wenig Zeichen zu lösen.

Mehr lesen

Chronologische Liste und Netflix-Links

Marvel-Filme- und -Serien: Das ist die richtige Reihenfolge

Neuerscheinungen in der Übersicht

Netflix: Neue Filme und Serien

Vorschau auf Film- und Serien-Highlights

Amazon Prime Video: Neuheiten

Weiter zur Startseite  

Mehr zum Thema

internet, webdesign, adobe,  Illustrator, CS6

Webdesign

Webdesign in Adobe Illustrator CS6

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.

Facebook stellte die neue Suche

Facebook

Facebooks Social Graph Search

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?

Der BGH erklärt das Internet zur Lebensgrundlage.

Online-Recht

Darauf müssen Sie bei den AGB achten

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.

Online-Urheberrecht: Unser Ratgeber bietet Tipps für das Cloud-Recht.

Online-Recht in der Cloud

Wie sieht das Urheberrecht in der Wolke aus?

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…

Logistik im E-Commerce: Prozesse rund um die Logistik.

E-Commerce-Logistik

Logistik im E-Commerce

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.