php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.06.2004, 10:50  
Gast
 
Beiträge: n/a
Standard Frage zu Ereg()

Hi,

hab irgendwie ein Teil des Codes nicht verstanden und hoffe, dass Ihr mir weiterhelfen könnt.

Code:
$datum = "2001-05-12";
if(ereg ("([0-9]{1})-([0-9]{3,4})-([0-9]{1,2})",$datum, $regs)) {
  echo "$regs[3].$regs[2].$regs[1]";
}
else{
  echo "Ungültiges Datumsformat: $datum";
}
Mit dieser Zeile habe ich ein Problem :

if(ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",$datum, $regs))

Warum $datum und $regs dort steht, habe ich verstanden. Was aber für mich nicht nachvollziehbar [CODE ] if(ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",$datum, $regs)) [/code]

ist das hier:

"{1}", "{3,4}","{1,2}".

Ich hab die Zahlen verändert und je nach dem ob ich übertrieben habe oder nicht, zeigte er das Datum oder eine Fehlermeldung. Wenn ich es lösche, dann erscheint ein Fehlermeldung. Ist es zwingend? Ich verstehe nicht wozu ich die Zeile brauche. Den String Zerstückeln mache ich ja eh nicht. Oder doch? Was bedeuten denn die Minusen zwischen jeden Klammer? Trenne ich damit den zusuchenden Zeichen ab?

Im Buch wurde es nicht gut erklärt worden, daher meine bitte um kurze Erklärung von euch. Im Forum wurde schon oft über EREG geredet, aber eine Antwort auf meine Frage fand ich nicht. Wirklich nicht.

Vielen Dank.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.06.2004, 10:53  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Bin vielleicht ein wenig schief gewickelt .. aber mach aus dem

ereg mal ein preg_match

Fürm eine Augen sieht das nach perl-Syntax aus ... (noch Delimiter um die Ausdruck ..)
Guradia ist offline  
Alt 01.06.2004, 13:59  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Guradia
Fürm eine Augen sieht das nach perl-Syntax aus ... (noch Delimiter um die Ausdruck ..)
Hi,

Danke für die Antwort.

Im Buch wird diese Funktion auch angesprochen, aber noch kurzer als bei ereg(). Ob es eine Perl-Funktion ist, weiß ich auch nicht.

Ich habe weiter experimentiert und es funktioniert bis jetzt recht gut. Nur mir ist immer noch nicht klar was "{1}" zu bedeuten hat. Ich komme momentan ohne "{1}" zu recht. D.h. für mich, dass es ist nicht zwingend notwending "{1}" zu schreiben. Aber ein Grund muß es dennoch haben, oder? Und was hat "-" für eine Bedeutung?


$zeichenkette="hallo welt";
if($zeichenkette=ereg("[!§$%&/()=@]",$zeichenkette){
echo "Fehler";
}

else {
echo "alles ok!";
}

^^ Diese IF-Abrage funktioniert. Aber kann ich auch Hochkommas und Anführungzeichen suchen lassen?

Vielen Dank für die Aufmerksamkeit.

PS was ist ein delimter ?
PS2 Anscheinden sollte ich mir ein anderes Buch kaufen
 
Alt 01.06.2004, 14:17  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von BlackHorse
Nur mir ist immer noch nicht klar was "{1}" zu bedeuten hat.
Der davorstehende Charakter/die Klasse darf exakt 1x vorkommen (nicht 0x, nicht 2x, nicht 3x .. nur 1x)
Guradia ist offline  
Alt 02.06.2004, 15:52  
Gast
 
Beiträge: n/a
Standard

Kann ich denn auch Hochkommas und Anführungzeichen suchen lassen, um sie dann zu löschen?

Z.B.

Gur"adia

Jetzt möchte ich nur " weg haben. Bei mir gehen die anderen, aber keine Anführungszeichen.

Bis jetzt suche ich vergeblich, weil nirgends wird gezeigt, wie man diese Anführungszeichen loswerden kann. Vielleicht geht es garnicht.

Gibt es keine andere Funktionen?
 
Alt 02.06.2004, 18:49  
Gast
 
Beiträge: n/a
Standard

Code:
$text = "Gur\"adia";
$text = preg_replace("/\"/", "", $text);
    echo $text;
 
Alt 02.06.2004, 19:28  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

dafür ist preg_* überdosiert ...

Code:
$text = str_prelace('"', '', $text);
Guradia ist offline  
 


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
Frage zu spam bots und captcha litterauspirna PHP Tipps 2008 6 20.05.2008 23:56
Frage zu Session SmileMan PHP Tipps 2008 1 08.10.2007 11:22
Smarty frage: switch($action) PHP Tipps 2007 5 30.12.2006 18:07
Frage zu einem mySQL/php/html Konstrukt <Daniel> PHP Tipps 2006 5 11.07.2006 16:07
Frage zu Counter PHP Tipps 2006 1 17.02.2006 21:45
Frage zu Speicherreservierung in PHP FiSiHRO PHP Tipps 2005-2 4 13.09.2005 12:00
[PDO] Frage zur Portabilität freq.9 PHP-Fortgeschrittene 2 29.07.2005 13:28
.htaccess - Frage Stümper PHP Tipps 2005 11 30.05.2005 11:56
Performence Frage PHP-Fortgeschrittene 10 06.05.2005 19:00
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
mal ne Frage PHP Tipps 2005 7 14.04.2005 09:46
Hallo und Frage zu dynamischer Veränderung in Textfeldern. PHP Tipps 2004-2 2 27.12.2004 22:29
ereg Problem PHP Tipps 2004-2 6 13.12.2004 10:30
[Erledigt] Frage zur Funkrionen? PHP Tipps 2004-2 10 01.12.2004 09:42
[Erledigt] Frage! PHP Tipps 2004 4 27.07.2004 11:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:58 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.