php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.06.2005, 19:32  
Gast
 
Beiträge: n/a
Standard ereg()

Hallo!
Die Funktion ereg macht mir ein bißchen Probleme.
Aus einem php-Buch habe ich folgenden Code (leicht abgeändert):

Code:
$number = 3478888888888; //Das ist von mir ein Test. Im Buch war nämlich nur ein Pseudo-Code enthalten

$valid = ereg('^3[47].{13}$', $number);

echo "$valid
";
Wenn ich es richtig interpretiere, dann soll der Code am Anfang eine 3 haben. Anschließend die Zahl 47, danach 13 beliebige Zahlen.

Das Seltsame ist, dass es weder ein true, noch ein false zurückgibt!

Weiß jemand wieso?!

Liebe Grüße
The Watcher
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.06.2005, 19:36  
Gast
 
Beiträge: n/a
Standard

[47] 4 oder 7

Das Suchmuster passt also z.B. auf
PHP-Code:
<?php
$number 
'378888888888888'//Das ist von mir ein Test. Im Buch war nämlich nur ein Pseudo-Code enthalten
$valid ereg('^3[47].{13}$'$number);
var_dump($valid);
?>
Die PCRE-Funktionen sind übrigens schneller und leistungsfähiger: http://php.net/pcre
 
Alt 22.06.2005, 19:39  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard Re: ereg()

Zitat:
Zitat von Watcher
Anschließend die Zahl 47, danach 13 beliebige Zahlen.
nicht ganz [47] ist eine Aufzählung d.h. 4 oder 7

probier mal 34.111111111111 der trifft

hier sind mal 2 Links zu Tools mit den man RegEx prüfen kann
http://www.weitz.de/regex-coach/
http://www.gotdotnet.com/Workspaces/...9-0bff41fdc1d6
HStev ist offline  
Alt 22.06.2005, 19:45  
Gast
 
Beiträge: n/a
Standard Re: ereg()

Hi!
Erst mal Danke euch beiden!

Zitat:
Zitat von HStev
Zitat:
Zitat von Watcher
Anschließend die Zahl 47, danach 13 beliebige Zahlen.
nicht ganz [47] ist eine Aufzählung d.h. 4 oder 7
Stimmt!!!
Zitat:
probier mal 34.111111111111 der trifft
Das funktioniert, aber warum muss da ein Punkt hin?! Punkt heisst doch, dass es ersetzt werden muss. Warum geht es nicht ohne Punkt?!

Zitat:
hier sind mal 2 Links zu Tools mit den man RegEx prüfen kann
http://www.weitz.de/regex-coach/
http://www.gotdotnet.com/Workspaces/...9-0bff41fdc1d6
Danke!

Auch ein Danke an Volker für den Tipp mit FCRE!

Liebe Grüße
TheWatcher
 
Alt 22.06.2005, 20:08  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Nein Punkt heist irgendein Zeichen und durch {13} dahinter heist es nichts anders als 13x irgendein Zeichen

der RegEx trifft auf 378888888888888 genauso zu wie auf 34.111111111111
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev ist offline  
Alt 22.06.2005, 20:11  
Gast
 
Beiträge: n/a
Standard

und auch auf Nicht-Zahlen
PHP-Code:
<?php
$number 
'34abcdefghijklm';
if ( 
ereg('^3[47].{13}$'$number) )
    echo 
'passt';
?>
 
Alt 22.06.2005, 20:13  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

jo irgendein Zeichen halt
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev ist offline  
Alt 22.06.2005, 20:32  
Gast
 
Beiträge: n/a
Standard

Das geht leider bei mir nicht:

PHP-Code:
<?php
$number 
342111111111111;

$valid ereg('^3[47].{13}$'$number);

if(
$valid){
    echo 
"true
"
;
    }
?>
Liebe Grüße
TheWatcher
 
Alt 22.06.2005, 21:13  
Gast
 
Beiträge: n/a
Standard

Hat jemand mal mein Codeschnipsel ausprobiert?
Geht er bei euch?!

Liebe Grüße
TheWatcher
 
Alt 22.06.2005, 21:55  
Gast
 
Beiträge: n/a
Standard

Lass Dir die Zahl mal ausgeben. Da sie sehr groß ist, wird sie anders dargestellt/in eine Zeichenkette umgewandelt.
Zitat:
3.4211111111111E+014
Genauso bekommt sie auch ereg() übergeben. Und darauf passt das Muster nicht.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Problem mit ereg Funktion! Horvi PHP Tipps 2008 7 20.05.2008 14:29
ereg() function fehler? Achilles PHP Tipps 2008 9 27.03.2008 12:10
ereg und Stringvorgaben nieselfriem PHP Tipps 2006 5 13.08.2006 16:14
preg / ereg replace FireFIghter PHP Tipps 2006 5 03.02.2006 14:59
Deutsche Erklaerung ereg und Liste escape-charakter PHP Tipps 2006 15 26.01.2006 09:02
Hilfe bei ereg PHP Tipps 2007 4 15.12.2005 11:37
ereg(), preg_match() oder was nu? PHP Tipps 2007 12 25.11.2005 22:40
ereg() Funktionsproblem Luke_Skyscraper PHP Tipps 2005-2 13 05.06.2005 19:51
Problem mit ereg PHP Tipps 2005 6 14.03.2005 19:32
ereg gegen strstr Mutatos PHP Tipps 2005 1 08.01.2005 22:10
ereg kommt fehlermeldung PHP Tipps 2004-2 9 16.12.2004 18:01
ereg Problem PHP Tipps 2004-2 6 13.12.2004 10:30
[Erledigt] (Verständnis-?)Problem mit ereg() PHP-Fortgeschrittene 2 14.08.2004 17:47
EREG - in allen Var's von "aussen" nach $ suchen Schaelle PHP Tipps 2004 4 13.06.2004 17:52
Frage zu Ereg() PHP Tipps 2004 6 02.06.2004 19:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.