• Keine Ergebnisse gefunden

F.2 Reguläre Ausdrücke in PHP

N/A
N/A
Protected

Academic year: 2021

Aktie "F.2 Reguläre Ausdrücke in PHP"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

248 ANHANG F. NEU IN WS07

F.2 Reguläre Ausdrücke in PHP

PHP enthält mehrere Methoden zur Anwendung von regulären Ausdrücken. Die Methoden beginnen mit dem Präfix preg_. Es ist unter anderem möglich,

nach solchen Ausdrücken zu suchen (preg_match)

Teile zu ersetzen (preg_replace)

Zechenketten aufzuteilen (preg_split) Die Syntax von preg_match ist:

int preg_match (

string $Suchmuster , string $Zeichenkette [, array &$Treffer [, int $Flags

[, int $Versatz ]]] )

Die ersten beiden Argumente enthalten das Suchmuster und die zu durchsuchen- de Zeichenkette. Das Suchmuster wird in Begrenzungszeichen (üblicherweise /) eingebettet. Danach können Modifikatoren folgen, mit denen das Suchverhalten im Detail eingestellt wird. So kennzeichnet ein i eine Suche unabhängig von Groß- und Kleinschreibung. Die optionalen weiteren Argumente haben folgende Bedeutung:

$Treffer: falls angegeben, wird in dieses Feld das gefundenen Muster ein- getragen. Das erste Feldelement enthält das komplette Muster, eventuelle Teilmuster werden in die folgenden Elemente eingetragen.

$Flags: falls der Wert PREG_OFFSET_CAPTURE gesetzt ist, wird in dem Er- gebnisfeld auch die jeweilige Position, an der das Muster gefunden wurde, eingetragen.

$Versatz: die Suche beginnt erst an der angegebenen Stelle in der Zeichen- kette

Als Rückgabewert liefertpreg_match 1 falls das Muster gefunden wurde, sonst 0.

Im folgenden sind einige erste Beispiele: zusammengestellt. Einfache Suche nach berg inFriedberg:

$res = preg_match ("/berg/","Friedberg" , $match );

echo $res ."</br>";

print_r($match);

Ergebnis:

(2)

F.2. REGULÄRE AUSDRÜCKE IN PHP 249

1

Array ( [0] => berg )

$res = preg_match ("/..berg/","Friedberg" , $match );

echo $res ."</br>";

print_r($match);

Ergebnis:

1

Array ( [0] => edberg )

Einsatz von Zeichentypen, Beispiel\w fürwort-Zeichen:

$res = preg_match ("/b\\w\\wg/","Friedberg" , $match );

echo $res ."</br>";

print_r($match);

Die doppelten \-Zeichen sind notwendig, da sonst PHP die Folge als Sonderzei- chen interpretieren würde. Ergebnis:

1

Array ( [0] => berg )

$res = preg_match ("/..berg/","Friedberg" ,

$match, PREG_OFFSET_CAPTURE );

echo $res ."</br>";

print_r($match);

Ergebnis:

1

Array ( [0] => Array ( [0] => edberg [1] => 3 ) )

$res = preg_match (

"/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/",

"111.23.56.223" ,

$match, PREG_OFFSET_CAPTURE );

echo $res ."</br>";

print_r($match);

Ergebnis (umformatiert):

1

Array (

[0] => Array ( [0] => 111.23.56.223 [1] => 0 ) [1] => Array ( [0] => 111 [1] => 0 )

[2] => Array ( [0] => 23 [1] => 4 ) [3] => Array ( [0] => 56 [1] => 7 ) [4] => Array ( [0] => 223 [1] => 10 ) )

Referenzen

ÄHNLICHE DOKUMENTE

Wir müssen hier noch eines Reliefs gedenken, das die Archäologen seit seiner Auffindung im Jahre 1825 vielfach beschäftigt hat, weil man es für eine Metope des älteren Parthenon

Einen nicht durch die Maschine selbst bedingten, aber an ihr in Erscheinung tretenden Einfluß muß man bei Abschätzung des Betriebsverbrauchs in Anlagen, die mit überhitztem

Mit $line =&lt;INPUT&gt;; schreiben Sie die erste Zeile der Datei in die Variable $line.. Mit close (INPUT); schlieÿen Sie

Doch auch die Krankenkassen wis- sen, daß sie für die Muster, die der Arzt seinem Patienten gibt, in jedem Fall bezahlen müßten, wenn nicht als Mu- ster, dann als verschriebene

Dann muß dieses Programm compiliert und gewöhnlich zusammen mit einer Bibliothek von LEX-Unterprogrammen geladen werden... Das uebersetzte Programm: a.out oder Name.exe

Für jeden regulären Ausdruck e kann (in linearer Zeit :-) ein -NFA konstruiert werden, der die Sprache [[ e ]]

Universität Exeter haben Hsin-Yu Wu, Serge Vincent, Jolly Xavier, Frank Vollmer, Tom Constant und Sivaraman Subramanian (von links) eine Anlage aufgebaut, in der sie verschiedene

Analog zu a) kann man die Äquivalenz der beiden verlangten Formeln zeigen. Zu 3.1.1: a) Wenn 3 gleiche Quadrate an jeder Ecke eines konvexen Körpers zusammenstoßen, geht man von