Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu Ereg()

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast erstellte das Thema Frage zu Ereg().

    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.

  • Guradia
    antwortet
    dafür ist preg_* überdosiert ...

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

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Code:
    $text = "Gur\"adia";
    $text = preg_replace("/\"/", "", $text);
        echo $text;

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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?

    Einen Kommentar schreiben:


  • Guradia
    antwortet
    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)

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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

    Einen Kommentar schreiben:


  • Guradia
    antwortet
    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 ..)

    Einen Kommentar schreiben:

Lädt...
X