eregi()-Problem

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

  • eregi()-Problem

    Hallo zusammen,

    ich hab das folgende Skript.
    PHP-Code:
    <?php
      $browser 
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
      
    $zeile "[Mozilla/4.0 (compatible; MSIE 6.0*;*Windows NT 5.1*)*]";

      echo(
    $browser.'<br><br>');
      echo(
    $zeile.'<br>');

      
    $zeile quotemeta($zeile);

      echo(
    $zeile.'<br>');

        
    $zeile str_replace("\*"".+"$zeile);

      echo(
    $zeile.'<br>');

      if(
    eregi("\[$zeile""[[$browser]"))
        echo(
    "<br>eregi");
      else
        echo(
    "<br>nix eregi");
    ?>
    Allerdings erhalte ich hier immer nix eregi. Allerdings weiß ich nicht warum. Wäre super, wenn mir da jemand unter die Arme greifen könnte. Danke.

    Grüße, Heppi.

  • #2
    copy & paste und ich bekomme eregi
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Original geschrieben von MelloPie
      copy & paste und ich bekomme eregi
      Scheint ein Problem des Forums hier zu sein - hat mir einfach meine Backslashes gekillt. Sollte eigentlich so aussehen:
      PHP-Code:
      <?php
        $browser 
      "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
        
      $zeile "[Mozilla/4.0 (compatible; MSIE 6.0*;*Windows NT 5.1*)*]";

        echo(
      $browser.'<br><br>');
        echo(
      $zeile.'<br>');

        
      $zeile quotemeta($zeile);

        echo(
      $zeile.'<br>');

        
      $zeile str_replace("BACKSLASH*"".+"$zeile);

        echo(
      $zeile.'<br>');

        if(
      eregi("BACKSLASH[$zeile""[[$browser]"))
          echo(
      "<br>eregi");
        else
          echo(
      "<br>nix eregi");
      ?>
      Ich mache ja mit quotemeta aus einem * ein BACKSLASH*. Also muß ich ja auch BACKSLASH* ersetzen und nicht nur *. Außerdem muß vor [$zeile ein BACKSLASH, damit das ganze nicht als Range erkannt wird.

      Das ganze war somit wahrscheinlich Zufall, daß eregi rauskam.

      Kommentar

      Lädt...
      X