[Script] Text Filter - URLs

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

  • [Script] Text Filter - URLs

    erstmal hallo!^^

    ich habe null ahnung von php , aber würde gerne mal nachfragen ob jemand von euch Spezies so lieb wäre, mir nen gaaanz kleines scirpt so coden, womit man aus nem text die urls rausfiltert und alle gefunden urls in nem neuen fenster ausgibt.


    also zum beispiel:

    blablabla.............balbla

    der text geht über 2 seiten und in dem text sind 2 urls drinne.

    nun soll das scirpt einfach nur diese 2 urls raussuchen und beide in nem neuen fenster auflisten.


    wäre toll wenn mir da jemand helfen könnte!

    TIA
    artyxz


    edit: bei der url kann es sich auch um bild, ton oder video links handel, also muss nich immer mit .de .com etc enden.
    Zuletzt geändert von artyxz; 17.07.2007, 13:03.

  • #2
    *move* nach Projekthilfe

    Kommentar


    • #3
      Mit preg_match() findest du alle Links.
      womit man aus nem text die urls rausfiltert und alle gefunden urls in nem neuen fenster ausgibt.
      Neues Fenster und PHP vertragen sich so gar nicht. Das könntest du nur mit einer AJAX Lösung in Kombination mit einem PHP Script machen.

      Gruss

      tobi
      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


      • #4
        ok danke, aber ich hab doch garkeine ahnung vom programmieren

        muss auch net nen neues fenster sein, hauptsache die links werden gefiltert ausgegeben
        Zuletzt geändert von artyxz; 17.07.2007, 13:24.

        Kommentar


        • #5
          Lies den Link !
          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


          • #6
            hab ich ja, aber ich weiss nich was ich damit anfangen soll
            sorry wenn ich dich dadurch aufrege, aber wie ich schon schrieb, hab ich von alle dem keine ahnung, deswegen hab ich hier ja mal angefragt.

            eigentlich sollte das ganze nur so aussehen:
            eine input.txt datei (mit dem text) und das php script, welches die input.txt einliest und die urls filtert/ausgibt.


            sorry nochmal.

            EDIT: ok, mit hilfe hab ich nun das hier, zum rausfischn von bild links.
            PHP-Code:
            $fn "input.txt";
            $fp=fopen($fn"r");
            $inhalt=fread($fpfilesize($fn));
            fclose($fp);
            preg_match("/^(http)(.*)(jpg)$/i"$inhalt$matches);
            echo 
            $inhalt;

            print_r($matches);

            foreach(
            $matches as $match
               echo 
            $match ."\n"
            aber er filtert noch nichts. wo stimmt da was nich?
            Zuletzt geändert von artyxz; 17.07.2007, 14:55.

            Kommentar


            • #7
              Dies sollte dir alle URLs aus dem Text holen
              PHP-Code:
              $string 'ich bin ein <a href="index.php">text</a> und habe viel <a href="index.php">Inhalt</a>dsfsdfsdf';
              $pattern '@<a href=[\\'|"]([^\\s]*)[\\'|"].*@isUm';
              $result = preg_match_all($pattern, $string, $treffer);
              var_dump($treffer[1]); 
              So als Anstoss

              Gruss

              tobi

              p.s. wenn du nur jpg willst, dann kannst du entweder alle Treffer durchgehen und nur jene verwenden, die auf dein Kriteriuem zutreffen oder du passt den RegExp demensprechend an.
              Tolle Seite zum Testen von regulären Ausdrücken
              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


              • #8
                also wie gesagt, die urls stehen im text, also nix mit href. sprich:

                blablabla http://url.com/file.exe blablabla

                das mit dembild (jpg) war nur ein beispiel.

                wenn ich die richtigen reg ausdrücke finde würde das dann mit meinem code da oben funktionieren oder stimmte noch was anderes nicht?

                danke nochmal.

                Kommentar


                • #9
                  PHP-Code:
                  $pattern '@http://([^\\s]*)@ism'
                  könnte helfen
                  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


                  • #10
                    jup, das hat geholfen, er holt sich nun die url raus
                    danke

                    allerdings gibt er die zeile in der die url vorkommt auch noch mit aus.

                    gibt es da nen trick bei der ausgabe?

                    wenn ich das mit dem code da oben mache gibt er mir sowas aus:

                    http://url.com/file.exe
                    url.com/file.exe

                    die zeile http://url.com/file.exe is hierzuviel.


                    wenn ich das mit var_dump mache dann gibt es sowas wie:

                    string [66] "http://url.com/file.exe"

                    gedacht war aber eigentlich,das er nur

                    url.com/file.exe

                    ausgibt.
                    Zuletzt geändert von artyxz; 17.07.2007, 17:17.

                    Kommentar


                    • #11
                      gibt es da nen trick bei der ausgabe?
                      Ja, RTFM und lies was bei preg_match zum thema $ma steht. Alternativ kannst du dir auch mal mit print_r($treffer) das ergebnis ansehen.

                      Kommentar


                      • #12
                        print_r($treffer); bringt nich viel, bzw is genauso wie die anderen ausgaben, nur das hier noch Array() bei steht. wird aber ebenfalls doppelt ausgegeben wie o.g.
                        Zuletzt geändert von artyxz; 17.07.2007, 19:21.

                        Kommentar


                        • #13
                          Ja, du sollst dir auch die ausgabe angucken. Ich hab nichts davon gesagt, dass das die Lösung ist.

                          Kommentar


                          • #14
                            Lies mal bitte im Manual zum Thema RegExp. Dort steht etwas wie das Rückgabearray auschaut.
                            Das http:// gehört zum ganzen Treffer und ist im Array Element 0 abgelegt. Das erste geklammerte () Muster wird im Array in Element 1 abgebildet und ist garantiert ohne http://
                            Mach jetzt bitte mal
                            PHP-Code:
                            <pre>
                            <?php
                            var_dump
                            ($treffer);
                            ?>
                            </pre>
                            und schau dir an wie das Array aufgebaut ist.

                            Gruss

                            tobi

                            p.s. gegen das doppelte Ausgeben hilft es das richtige Array Element anzusprechen
                            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

                            Lädt...
                            X