Links aus Datei suchen und ausgeben?

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

  • Links aus Datei suchen und ausgeben?

    Ich habe da ein Problem und zwar habe ich ein Formular:

    Dieses Formular hat ein Feld, wo ich den Quelltext einer *.html
    reinkopiere und einen Abschicken-Button.

    Der Quelltext wird dann an eine Variable übergeben und in eine *.txt
    gespeichert.

    Danach soll der Inhalt dieser *.txt nach Links durchsucht (
    alles was sich zwischen <a href="...">...</a> befindet) und ausgegeben werden.

    Ich habe schon ein wenig gegooglet und getestet. Aber leider komme ich nicht weiter.

    Das habe ich bisher:

    PHP-Code:
    <?
    $filter = $_POST['filter'];

    function leeren($file) {
    $datei = fopen($file,"w");
    fputs($datei,"");
    fclose($datei);
    }
    leeren("links.txt");
    ?>

    <html>
    <head>
    <title>Filter</title>
    </head>
    <body>

    <form method="post">
    <textarea cols="60" rows="15" name="filter">
    </textarea>
    <br />
    <input type="submit" value="Filtern">
    </form>

    <?
    $file = "links.txt";
    $fp = fOpen($file , "a+", "w+");
    fWrite($fp , $filter);
    fClose($fp);
    ?>

    <?
      $content = file_get_contents("links.txt");
      

      preg_match_all("!<a.*?href=\"([^\"]*)\"[^>]*>(.*?)</a>!",$content,$ergebnisse);


      foreach ($ergebnisse[1] as $link)
      {
        echo $link.'<br>';
      }

      foreach ($ergebnisse[2] as $titel)
      {
        echo $titel.'<br>';
      }
    ?>

    </body>
    </html>
    Könnte mir vllt. jemand sagen, wo der Fehler liegt?

  • #2
    Könntest du uns vielleicht erstmal sagen, was das Problem ist?

    Kommentar


    • #3
      Oh

      Es sollen ja die Links ausgegeben werden (http://...html).

      Aber das tut es nicht.

      Ja und das ist mein Problem

      Kommentar


      • #4
        Hi,
        Aber das tut es nicht.
        *Klatsch* Wie dumm von uns! Da hätten wir aber auch wirklich selbst drauf kommen können...

        Hast Du deinen regexp überhaupt mal getestet? Z.B. hier? Mit welchen Eingabedaten getestet? Was ergibt print_r($ergebnisse)?

        OffTopic:
        Was ist eigentlich los im Moment?

        LG

        Kommentar


        • #5
          @spooner: du wirst extra drauf hingewiesen, und formulierst dein Problem trotzdem nicht vernünftig. Willst du Hilfe oder nicht?

          Kommentar


          • #6
            Schalte dein error reporting gemäss Forenregeln ein. afaik ist php case sensitive. Nebenbei schau dir im Manual mal fopen() an
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Hi,
              afaik ist php case sensitive.
              Nicht bei Funktionsnamen, bei Variablen schon.

              LG

              Kommentar


              • #8
                Nicht bei Funktionsnamen, bei Variablen schon.
                Dann wäre Punkt 1 erledigt Der ts sollte aber trotzdem mal unter dem Gesichtspunkt der Parameter ins Manual von fopen() schauen. Weil entweder append ODER write, aber beides zusammen
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Hab es jetzt gelöst

                  statt:

                  PHP-Code:
                  $filter $_POST['filter']; 
                  habe ich jetz:

                  PHP-Code:
                  $filter stripslashes($_POST['filter']); 
                  Aber trotzdem ein nettes Dankeschön an alle, die geholfen haben

                  Kommentar

                  Lädt...
                  X