Andy: Anfänger mit 2 (hoffentlich) nicht-so-ganz-Anfängerfragen ...

Hallo Forum,
2 Fragen zu PHP bitte.

  1. der ereg() ist ja ganz nett,
       aber so richtig reguläre Ausdrücke wie ^ für Anfang oder $ für Ende
       sind damit nicht möglich, oder?

Wie kann ich das realisieren?
   Den preg scheint es nur als preg_replace() zu geben ...

2. Ich habe innerhalb einer Schleife
   mit include() ein PHP-File eingebunden.
   Klappt wunderbar ... wird auch geparst, aber
   die dort ausgeführte continue-Anweisung bringt den Fehler:
   Fatal error: Cannot break/continue 1 level in ...

Kann ich das trotzdem realisieren,
   oder muss ich den Part bis continue
   quasi ins "Mutterfile" schreiben?

Danke, Andy

  1. Hallo Andy,

    sieh mal bitte im Manual nach; es wird in der Beschreibung nicht nur auf preg_match() hingewiesen, sondern auch den Vorzug gegeben.

    Zu Deinem Problem mit der Anweisung continue weiß ich nicht recht was gemeit ist, poste bitte eine vereinfachte Form der Pasage!

    Gruß aus Berlin!
    eddi

    1. Hallo eddi,
      JAAA ... preg_match() ist schonmal der Hammer !!!
      Danke o))

      File 1:
      for($x=7;$x<"200";$x++) {
              if ($row[$x]) {
                  include("include.php");
      etc.

      File include.php: (Demnächst mit preg_match( :0)

      if (ereg("PU0",$ID)) {
              continue;
          }
      etc.
      ___________

      Da stehen noch ein paar Sachen vor dem if(),
      aber nix Dramatisches.
      Es läuft auch, wenn ich ich den include.php-Inhalt
      eben nicht include, sondern direkt in File 1 schreibe ...

      Gruss, Andy

    1. Ich habe innerhalb einer Schleife
         mit include() ein PHP-File eingebunden.
         Klappt wunderbar ... wird auch geparst, aber
         die dort ausgeführte continue-Anweisung bringt den Fehler:
         Fatal error: Cannot break/continue 1 level in ...
         Kann ich das trotzdem realisieren,
         oder muss ich den Part bis continue
         quasi ins "Mutterfile" schreiben?

    Ungeprüft: Probier mal continue 2;

    1. Ungeprüft: Probier mal continue 2;

      Danke, aber leider nicht ...
      Fatal error: Cannot break/continue 2 levels in ...

      Auch continue 1; ging nicht,
      wobei er die 1 sowieso automatisch zu setzen scheint ...

      Wahrscheinlich geht das einfach nicht o(
      Siehe Statement von greg AT laundrymat.tv
      auf [link]http://php3.de/manual/de/control-structures.continue.php[/link]

      Der hat dasselbe Problem ...

      Mist, wie ging denn das hier mit Linksetzen nochmal
      weder [link] noch [url] noch [a] noch [href] gehen
      in der Vorschau

      1. Ungeprüft: Probier mal continue 2;

        Danke, aber leider nicht ...
        Fatal error: Cannot break/continue 2 levels in ...

        Auch continue 1; ging nicht,
        wobei er die 1 sowieso automatisch zu setzen scheint ...

        Wahrscheinlich geht das einfach nicht o(

        Schau mal da: PHP-Manual zu include und probier das mal mit return zu lösen.

        Siehe Statement von greg AT laundrymat.tv
        auf [link]http://php3.de/manual/de/control-structures.continue.php[/link]

        Der hat dasselbe Problem ...

        ...aber auch keine Lösung gefunden.

        1. Schau mal da: PHP-Manual zu include und probier das mal mit return zu lösen.

          Jou, Klappt !!! Besten Dank

          Das Abbrechen der include.php führt
          also nicht zum Beenden der Schleife

          Gut zu wissen ...

          Daaanke, Andy

          1. Schau mal da: PHP-Manual zu include und probier das mal mit return zu lösen.

            Jou, Klappt !!! Besten Dank

            Übrigens, ich kenne den Inhalt deiner include-Datei zwar nicht, würde aber eher dazu raten, das was du da in der include hast in eine Funktion zu packen und die aufzurufen, statt immer wieder den Parser mit der include-Datei zu beschäftigen. Setzt natürlich voraus, dass die include-Datei immer die gleiche ist und sich der Inhalt nicht während des Schleifenlaufes ändert.

            1. Übrigens, ich kenne den Inhalt deiner include-Datei zwar nicht, würde aber eher dazu raten, das was du da in der include hast in eine Funktion zu packen und die aufzurufen, statt immer wieder den Parser mit der include-Datei zu beschäftigen. Setzt natürlich voraus, dass die include-Datei immer die gleiche ist und sich der Inhalt nicht während des Schleifenlaufes ändert.

              Stimmt eigentlich,
              bei meinem derzeitigen Loop wird sie mit Pech gleich 200x geladen.
              (Real jedoch max. 20-fach)

              Braucht der Parser viel Ressourcen?

              Ich fand das bisher einfach Klasse,
              weil man nicht zigfach
              global $hier; und global $da; setzen muss.

              Gruss, Andy

              1. Ich fand das bisher einfach Klasse,
                weil man nicht zigfach
                global $hier; und global $da; setzen muss.

                Oh oh... Wenn eine Funktion reichlich Gebrauch von globals macht, dann hast du das Problem nicht ausreichend abstrahiert. Eine Funktion sollte im Idealfall in der Lage sein, nur aus den übergebenen Parametern ein Ergebnis zu berechnen. Ansonsten bietet sich noch objektorientiertes Programmieren an...

      2. Hallo Andy,

        Mist, wie ging denn das hier mit Linksetzen nochmal
        weder [link] noch [url] noch [a] noch [href] gehen
        in der Vorschau

        [link] ist schon richtig - nur muss die URL mit einem Doppelpunkt abgetrennt hinter »link« also so: »<<URL>>« - siehe FAQ.

        Grüße aus Nürnberg
        Tobias