phase: Bestimmte Links aus seite auslesen und an php übergeben?

Hi, ich möchte bestimmte Links einer HTML-Seite auslesen und an ein PHP-Script übergeben um sie dann in eine textdatei zuschreiben.

<html>

<a href="tex1.html">test</a>
<a href="tex2.html">test</a>
<a href="link1.html">link</a> <===== Diesen Link möchte ich haben.
<a href="tex3.html">test</a>
<a href="tex4.html">test</a>
<a href="link2.html">link</a> <===== Diesen Link möchte ich haben.

</html>

Die PHP-Seite ist mir klar aber wie ist es mit Javascript möglich diese bestimmten Links auszulesen und dann an das PHP-Script zuübergeben?

Vielen Dank und Gruß,
phase

  1. Hallo,

    <a href="tex1.html">test</a>
    <a href="tex2.html">test</a>
    <a href="link1.html">link</a> <===== Diesen Link möchte ich haben.
    <a href="tex3.html">test</a>
    <a href="tex4.html">test</a>
    <a href="link2.html">link</a> <===== Diesen Link möchte ich haben.

    Du willst den dritten und den dritten und den sechsten Link im Dokument?

    var link1 = [ref:self812;javascript/objekte/links.htm@title=document.links][2].href;  
    var link2 = document.links[5].href;
    

    wie ist es mit Javascript möglich diese bestimmten Links auszulesen und dann an das PHP-Script zuübergeben?

    Zum Beispiel über GET-Parameter:

    [ref:self812;javascript/objekte/location.htm#href@title=location.href] = "deinphpscript.php?link1=" + encodeURIComponent(link1) + "&link2" + encodeURIComponent(link2);

    Mathias

    1. Hallo Matthias, gibt es nciht die Möglcihkeit alle links in einem Array zuüber geben? Fände ich etwas eleganter. Die links schreibe ich mittlerweile folgendermaßen in ein array:

      function doit(){
       var a = document.getElementsByTagName('a');
       array = new Array();
       for(i=0;i<a.length;i++){
        if (a[i].href.match(/test/i)) {

      array.push(a[i].href.substring(23));
        }
       }

      alert(array);
      }

      Jetzt müsste ich quasi "nur" noch das Array an PHP übergeben können.

      Gruß,
      phase

      1. Hallo,

        gibt es nciht die Möglcihkeit alle links in einem Array zuüber geben?

        Ja. Nur ist das eine andere Aufgabenstellung, als du in deinem ersten Posting.

        Die links schreibe ich mittlerweile folgendermaßen in ein array:

        Warum schreibst du das nicht gleich? ;)

        Jetzt müsste ich quasi "nur" noch das Array an PHP übergeben können.

        Das kannst du auf dieselbe Weise tun, wie ich bereits beschrieben habe: Indem du deinen Array mit einer for-Schleife durchläufst und peu à peu einen langen Query-String zusammenbaust. Sinnigerweise hat der den wiederkehrenden Aufbau arr[]=URI& und so weiter. Wenn das Script auf das PHP-Script weiterleitet, hast du darin einen Array in $_GET['arr'].

        Es geht natürlich komplizierter, du kann ein Formular und Formularfelder erzeugen und das per POST an den Server schicken. Oder oder oder, je nachdem, was du für spezielle Anforderungen und Hintergründe hast. Die müsstest du schon möglichst genau schildern. :)

        Mathias

  2. ok, offensichtlich kann ich ein Array einfach per GET übergeben

    location.href = "http://test:8888/show.php?array=" + array;

    schön wenn's einfach geht. Guten Abend noch.

    1. location.href = "http://test:8888/show.php?array=" + array;

      Wenn du einen Array implizit in einen String umwandelst, wird array.join() aufgerufen, und standardmäßig wird ein Komma als Trenner verwendet - dummerweise kann ein Komma aber auch in URIs vorkommen, deswegen ist das keine Allround-Lösung und meine Empfehlung lautete anders.

      Mathias