Dies ist eine alte Version des Dokuments!
Wir wollen aus dem unten stehenden Beispieltext alle Euro-Beträge, die durch das nachstehende Wort „Euro“ oder mit dem Eurozeichen „€“ gekennzeichnet sind, herausfiltern.
Die Bearbeitungsgebühr vom Lotto 6aus49 ist abhängig von der zuständigen Landeslotteriegesellschaft sowie von der Anzahl der teilnehmenden Wochen und bewegt sich zwischen 0,20 Euro und 1,50 Euro pro Spielschein. Im Bundesland Saarland ist die Teilnahme mit einer Bearbeitungsgebühr bis zu 1,50 Euro am teuersten. Somit kann ein komplett ausgefüllter Spielschein mit 5 Wochen Laufzeit für mittwochs und samstags inkl. Spiel 77, Super 6 und Glücksspirale maximal 184 Euro kosten. Für die Teilnahme an der Glücksspirale werden von einigen Landeslotteriegesellschaften noch eine zusätzliche Bearbeitungsgebühr zwischen 0,20 € bis 0,60 € berechnet.
class TextFilter { private $content; public function loadFile( $filename ) { if( !file_exists( $filename ) ) return false; $this->content = file_get_contents( $filename ); return true; } public function getArray( $pattern ) { if( empty ( $pattern )) return false; preg_match_all( $pattern, $this->content, $result ); if( count( $result ) > 0 ) return $result[0]; } }
$filter = new TextFilter(); if( $filter->loadFile( "Beispieltext.txt" ) ) $result = $filter->getArray( '/\s\d{1,},?\d{0,2}\s(Euro|€)/' ); print_r( $result );
Ausdruck | Bedeutung |
---|---|
/ | Muster-Begrenzungszeichen am Anfang |
/s | Leerzeichen |
/d | beliebige Ziffer zwischen 0-9 |
{1,} | die vorangestellte Zahl muss mindestens einmal und darf beliebig oft vorkommen |
, | Komma (Trennzeichen zwischen Euro und Cent) |
? | Das vorangestellte Komma ist optional (darf, aber muss nicht vorkommen) |
/d | beliebige Ziffer zwischen 0-9 |
{0,2} | die vorangestellte Ziffer muss gar nicht und darf max. zweimal vorkommen |
/s | Leerzeichen |
(Euro €) | Es muss das Wort „Euro“ oder das „€“-Zeichen vorkommen |
/ | Muster-Begrenzungszeichen am Ende |