Links für Druckversion aus Website herauslesen und ausgeben

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

  • Links für Druckversion aus Website herauslesen und ausgeben

    Hallo Forum,

    zur Zeit bastle ich an einer Druckversion für meine Seite. Dank den Tipps von einigen Forumlern hat die Umsetzung auch schon geklappt.

    Nun würde ich die Druckversion meiner Seite noch optimieren. Und zwar würde ich gerne alle Links aus der Druckversion entfernen und stattdessen jeweils eine Fußnote einfügen. Am Ende des Dokumentes sollten dann die entfernten URLs als Fußnote ausgegeben werden.


    Beispiel:

    Dies ist ein Beispiel, um zu zeigen, wie es gemeint ist. Alle Links wie z. B. zu php-resource sollen entfernt und anschliessend als Fussnote ausgegebn werden.

    soll geändert werden in:

    Dies ist ein Beispiel (1), um zu zeigen, wie es gemeint ist. Alle Links wie z. B. zu php-resource (2) sollen entfernt und anschliessend als Fussnote ausgegebn werden.

    (1) http://beispiel.de
    (2) http://beispiel2.de



    Gibt es dafür vielleicht schon ein fertiges Skript? Falls nicht, wie soll ich am besten vorgehen?

    Danke für jeden Hinweis!
    Chriss

  • #2
    schaue dir mal preg_match(_all) an.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Original geschrieben von Abraxax
      schaue dir mal preg_match(_all) an.
      Ja, über preg_macht_all kann ich die URLs herauslesen.

      PHP-Code:
      $arr = array();
      preg_match_all("/<a href=\"([a-zA-Z0-9.\-+]+):\/\/([^ \"\n]+?)\">/"$content$arr);
      echo 
      "<p><br>Im Dokument enthaltene externe Links:<br>";
      for (
      $x 0$x <= count($arr); $x++){
         echo 
      $arr[2][$x]."<br>";
       } 
      Das funktioniert soweit. Nur die Fussnoten habe ich damit ja noch nicht. Wie eingangs gepostet sollen unter dem Dokument nicht nur die Links ausgegeben werden (so wie es mit dem obigen Skript bereits funktioniert), sondern soll auch eine Fussnoten-Nr. im Text und vor der ausgegebenen URL erscheinen:

      Dies ist ein Beispiel (1), um zu zeigen, wie es gemeint ist. Alle Links wie z. B. zu php-resource (2) sollen entfernt und anschliessend als Fussnote ausgegebn werden.

      (1) http://beispiel.de
      (2) http://beispiel2.de


      Wie bekomme ich diese Nummerierung hin?

      Den regulären Ausdruck für interne Links fehlt mir auch noch. D. h. ich bräuchte ich noch einen Ausdruck für folgende Zeile:

      <a href="../../dokument_xy.php" title="egal">Dokument</a>

      Später soll dann der URL ../../dokument_xy.php in der Forum http://www.homepage.de/verz/dokument_xy.php ausgegeben werden. Wie geht man da am besten vor?

      Gruß,
      Chriss

      Kommentar


      • #4
        wenn du nun schon alle links ausgelesen hast, ist's doch einfach.

        du hast doch nun schon eine schleife für die dummy-ausgabe.

        jetzt brauchst du nur noch str_replace in einer/der schleife auf das ganze zeug anwenden und gleichzeitig baust du deinen fussnotentext zusammen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Ist das nicht ein bisschen viel Füßlerei? Ich auf meiner Homepage Seiten mit über 50 Links, das ist da fast eine A4 Seite!
          Zuletzt geändert von Winner; 17.04.2004, 23:28.
          Wenn die Tatsachen nicht mit der Theorie übereinstimmen –

          um so schlimmer für die Tatsachen.

          Kommentar


          • #6
            OffTopic:
            @Winner
            ist das nicht ein bischen übertrieben, dass deine signatur 5/6 deines posts ausmacht?
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Original geschrieben von Abraxax
              wenn du nun schon alle links ausgelesen hast, ist's doch einfach.

              du hast doch nun schon eine schleife für die dummy-ausgabe.

              jetzt brauchst du nur noch str_replace in einer/der schleife auf das ganze zeug anwenden und gleichzeitig baust du deinen fussnotentext zusammen.
              Hallo @Abraxax,

              bei so vielen Links macht das natürlich keinen Sinn. Meine Druckversion bezieht sich ausschliesslich auf den Inhalt, d. h. das Kopf-, Fuß- und Navigationsbereich nicht enthalten sind. Und im reinen Inhalt befinden sich auf meinen Seiten nur wenige Links. Denn zu viele Links lenken den User bekanntlich nur ab, bzw. sie überfordern ihn. Solltest Du 50 Links im Content Deiner Seite haben, so ist das kontraproduktiv.

              Gruß,
              Chriss

              Kommentar


              • #8
                Original geschrieben von Chriss
                Solltest Du 50 Links im Content Deiner Seite haben, so ist das kontraproduktiv.
                aber das hast du doch nicht, wie du eben geschrieben hast. oder verwirrst du mich jetzt nur?
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Original geschrieben von Abraxax
                  wenn du nun schon alle links ausgelesen hast, ist's doch einfach.

                  du hast doch nun schon eine schleife für die dummy-ausgabe.

                  jetzt brauchst du nur noch str_replace in einer/der schleife auf das ganze zeug anwenden und gleichzeitig baust du deinen fussnotentext zusammen.
                  Stimmt eigentlich. So schwierig dürfte es nicht sein. Werde es mal probieren.

                  Gruß,
                  Chriss

                  Kommentar


                  • #10
                    Original geschrieben von Abraxax
                    aber das hast du doch nicht, wie du eben geschrieben hast. oder verwirrst du mich jetzt nur?
                    Nein, ich habe nur wenige Links im Content. Wie geschrieben empfände ich alles andere als "kontroproduktiv".

                    Chriss

                    Kommentar


                    • #11
                      Damit wir uns jetzt nicht falsch verstehen: wenn du die Links ganz am Ende des Ausdruckes und nicht am Ende der Seite bringst wird es schwierig. Zum Beispiel habe ich eine Beschreibung aller meiner jemals geschiebenen Funktionen und Klassen, die meherer hundert Seiten lang ist. Ich hab nicht nachgezählt, aber es sind mehr als 2 Links dabei! Daher wäre es warscheinlich sehr sinnvoll die Fußnoten am Ende jeder Seite zu schreiben und nicht am Schluß des Ausdruckes.
                      Wenn die Tatsachen nicht mit der Theorie übereinstimmen –

                      um so schlimmer für die Tatsachen.

                      Kommentar


                      • #12
                        Original geschrieben von Winner
                        Damit wir uns jetzt nicht falsch verstehen: wenn du die Links ganz am Ende des Ausdruckes und nicht am Ende der Seite bringst wird es schwierig. Zum Beispiel habe ich eine Beschreibung aller meiner jemals geschiebenen Funktionen und Klassen, die meherer hundert Seiten lang ist. Ich hab nicht nachgezählt, aber es sind mehr als 2 Links dabei!
                        Deine Seite kenne ich nicht, aber wenn Du soviele Links in Deiner Seite hast, dann würde es bei Dir wohl keinen Sinn machen, diese mit auszugeben. Aber was meinst Du denn mit "mehrern Hundert Seiten"? Du hast doch sicher kein einzelnes HTML-Dokument, das ausgedruckt mehrere hundert Seiten groß ist, oder?
                        Damit wir uns nicht falsch verstehen: Ich rede hier von der Druckversion einer einzelnen HTML-Seite und nicht von einer Funktion, die alle Unterseiten nacheinander ausdruckt.

                        Original geschrieben von Winner
                        Daher wäre es warscheinlich sehr sinnvoll die Fußnoten am Ende jeder Seite zu schreiben und nicht am Schluß des Ausdruckes.
                        Es wäre in der Tat optimal, die Links am Ende jeder gedruckten Seite zu platzieren, ähnlich wie es in Zeitschriften/Büchern geschieht. Aber das wäre wohl deutlich zu aufwändig, um es programmiertechnisch umzusetzen. Denn dann müsste ich ja auch noch ermitteln, wo eine gedruckte Seite zu Ende ist - und das hängt von den Druck(er)-Einstellungen ab.

                        Gruß,
                        Chriss

                        Kommentar


                        • #13
                          Original geschrieben von Chriss
                          [B]Deine Seite kenne ich nicht, aber wenn Du soviele Links in Deiner Seite hast, dann würde es bei Dir wohl keinen Sinn machen, diese mit auszugeben. Aber was meinst Du denn mit "mehrern Hundert Seiten"? Du hast doch sicher kein einzelnes HTML-Dokument, das ausgedruckt mehrere hundert Seiten groß ist, oder?
                          Damit wir uns nicht falsch verstehen: Ich rede hier von der Druckversion einer einzelnen HTML-Seite und nicht von einer Funktion, die alle Unterseiten nacheinander ausdruckt.
                          Die Site ist auch nicht offiziell, sondern nur für ein paar gute Freunde zugänglich, bei dennen ich mir sicher bin, dass sie den Quellcode nicht einfach rauskopieren uns als ihren verkaufen!

                          Jede Seite hat eine bestimmte Dateigröße. Wenn diese überschritten wird, gibt es unten auf der Seite einen 'Weiter'-Button. Will der Benutzer jetzt den Artikel/die Beschreibung drucken, dann braucht er ja normalerweiße nicht nur die erste Seite, sondern sämtliche.



                          Es wäre in der Tat optimal, die Links am Ende jeder gedruckten Seite zu platzieren, ähnlich wie es in Zeitschriften/Büchern geschieht. Aber das wäre wohl deutlich zu aufwändig, um es programmiertechnisch umzusetzen. Denn dann müsste ich ja auch noch ermitteln, wo eine gedruckte Seite zu Ende ist - und das hängt von den Druck(er)-Einstellungen ab.
                          Daran arbeite ich gerade, bin aber noch nicht sicher, ob ich das hinbekomme, ist in der Tat etwas aufwendig
                          Wenn die Tatsachen nicht mit der Theorie übereinstimmen –

                          um so schlimmer für die Tatsachen.

                          Kommentar


                          • #14
                            Original geschrieben von Winner
                            Jede Seite hat eine bestimmte Dateigröße. Wenn diese überschritten wird, gibt es unten auf der Seite einen 'Weiter'-Button. Will der Benutzer jetzt den Artikel/die Beschreibung drucken, dann braucht er ja normalerweiße nicht nur die erste Seite, sondern sämtliche.
                            Ok, jetzt habe ich es verstanden! Da können dann tatsächlich viele Seiten und viele Links zusammen kommen.

                            Original geschrieben von Winner
                            Daran arbeite ich gerade, bin aber noch nicht sicher, ob ich das hinbekomme, ist in der Tat etwas aufwendig
                            Hört sich gut an! Wenn Du eine Lösung hast, wäre es nett, wenn Du sie hier posten oder mir per PN mitteilen könntest! Viel Erfolg bei der Umsetzung!

                            Gruß,
                            Chriss

                            Kommentar


                            • #15
                              ich tu mein bestes und teil dir meine Lösung mit
                              Wenn die Tatsachen nicht mit der Theorie übereinstimmen –

                              um so schlimmer für die Tatsachen.

                              Kommentar

                              Lädt...
                              X