Ankündigung

Einklappen
Keine Ankündigung bisher.

Webseite auslesen und Werte aus einen Javascript in PHP verarbeiten

Einklappen

Neue Werbung 2019

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

  • Webseite auslesen und Werte aus einen Javascript in PHP verarbeiten

    Hallo, würde gerne innerhalb einer Script Passage einer HTML Seite folgende Werte auslesen:

    Code:
    charts[1]['min'] = [['Di',5.3],['Mi',4.9],['Do',9.7],['Fr',6],['Sa',8.3],['So',10.2],['Mo',8.8]];
    charts[1]['mittel'] = [['Di',8.2],['Mi',8.6],['Do',11],['Fr',9.9],['Sa',10.5],['So',12.2],['Mo',12]];
    charts[1]['max'] = [['Di',13.3],['Mi',13.3],['Do',13.8],['Fr',13.7],['Sa',13.4],['So',15.8],['Mo',17.6]];
    charts[2]['line'] = [['Di',64],['Mi',58],['Do',43],['Fr',50],['Sa',41],['So',28],['Mo',28]];
    charts[3]['line'] = [['Di',5],['Mi',5],['Do',4],['Fr',6],['Sa',4],['So',7],['Mo',6]];
    Wie bekomme ich die Werte sauber in eine PHP Variable bzw. einen String?

    Hier das Script:

    PHP-Code:
    var charts = new Array();
    charts[1] = new Array();
    charts[2] = new Array();
    charts[3] = new Array();
    charts[4] = new Array();
    charts[5] = new Array();
    var 
    maxValues = new Array();
    var 
    minValues = new Array();
    var 
    nrTicks = new Array();
    var 
    temp_linien_beschreibung = new Array();
    var 
    marke_color1 '#97b663';
    var 
    marke_color2 '#97b663';

    charts[1]['min'] = [
        [
    'Di'5.3],
        [
    'Mi'4.9],
        [
    'Do'9.7],
        [
    'Fr'6],
        [
    'Sa'8.3],
        [
    'So'10.2],
        [
    'Mo'8.8]
    ];

    charts[1]['mittel'] = [
        [
    'Di'8.2],
        [
    'Mi'8.6],
        [
    'Do'11],
        [
    'Fr'9.9],
        [
    'Sa'10.5],
        [
    'So'12.2],
        [
    'Mo'12]
    ];

    charts[1]['max'] = [
        [
    'Di'13.3],
        [
    'Mi'13.3],
        [
    'Do'13.8],
        [
    'Fr'13.7],
        [
    'Sa'13.4],
        [
    'So'15.8],
        [
    'Mo'17.6]
    ];

    charts[2]['line'] = [
        [
    'Di'64],
        [
    'Mi'58],
        [
    'Do'43],
        [
    'Fr'50],
        [
    'Sa'41],
        [
    'So'28],
        [
    'Mo'28]
    ];

    charts[3]['line'] = [
        [
    'Di'5],
        [
    'Mi'5],
        [
    'Do'4],
        [
    'Fr'6],
        [
    'Sa'4],
        [
    'So'7],
        [
    'Mo'6]
    ];

    maxValues[1] = 18;
    maxValues[2] = 70;
    maxValues[3] = 8;
    minValues[1] = 0;
    minValues[2] = 0;
    minValues[3] = 0;
    nrTicks[1] = 10;
    nrTicks[2] = 8;
    nrTicks[3] = 5;
    temp_linien_beschreibung['MAX'] = 'Max';
    temp_linien_beschreibung['MITTEL'] = 'Mittel';
    temp_linien_beschreibung['MIN'] = 'Min'
    Grüße

  • #2
    JSON.stringify() könnte helfen. An PHP per Ajax oder direktem HTTP-Request und dort json_decode().

    Warum willst Du mit JS für PHP vorbereiten?
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Schade Arne Drews , wollte mir gerade den Acc Respect zulegen, um darauf hinzuweisen, daß man mit über 150 Posts Code tags kenne sollte.
      Hallo, würde gerne innerhalb einer Script Passage einer HTML Seite folgende Werte auslesen:
      Bist Du sicher daß die betreiber derseite das auch wollen?

      Kommentar


      • #4
        Das ist eine lokal betriebene Seite meiner Heizungsanlage.
        ICh will die Werte einfach in eine Datenbank schreiben - als String in etwa so: 5.3, 4.9, usw.

        Kommentar


        • #5
          Zitat von FRAD Beitrag anzeigen
          Das ist eine lokal betriebene Seite meiner Heizungsanlage.
          Das ändert genau was ?
          Frag den Hersteller nach ner Api.

          Kommentar


          • #6
            Der Hersteller hat keine Api - bereits angefragt. Aber wo ist das Problem die Werte aus der HTML Datei zu parsen? Suche doch nur einen Ansatz, dies zu tun...

            Kommentar


            • #7
              Wenn es ken Problem ist, dann mach es doch.
              ICh will die Werte einfach in eine Datenbank schreiben
              Die paar Werte hättest du in der Zeit, die du hier im Forum verbracht hast, schon per Hand eingetippt.

              - als String in etwa so: 5.3, 4.9, usw.

              Falscher Ansatz im Zusammenspiel mit Datenbanken.
              Werte gibt man Zeilenweise ein.

              Kommentar


              • #8
                Wenn man Seiten mit JavaScript Parsen will, bietet sich ein Headless Browser und eine passende Library an. Eigentlich ist dies eher für Integration Tests gedacht, aber lässt sich auch für andere Zwecke bestimmt einsetzen. Aber wie hier auch bereits gesagt wurde, ist es einfacher zu schauen ob es nicht eine API gibt. Auch die meisten Embedded Systeme wie ein Heizungsanlage, hat meistens, wenn auch etwas versteckt, eine API Schnittstelle.

                https://github.com/symfony/panther

                Kommentar


                • #9
                  Kann man denn API Schnittstellen irgendwie herausfinden, ob es diese gibt?

                  Kommentar


                  • #10
                    Ich denke
                    Zitat von FRAD Beitrag anzeigen
                    Der Hersteller hat keine Api - bereits angefragt.
                    Dann erübrigt sich deine Frage wie man API Schnittstellen irgendwie herausfinden kann.

                    Zitat von FRAD Beitrag anzeigen
                    Aber wo ist das Problem die Werte aus der HTML Datei zu parsen? Suche doch nur einen Ansatz, dies zu tun...
                    Ich habe Zweifel, ob der #1 gezeigte Code wirklich so direkt in der HTML-Datei steht. Dann sollten nach Ausführung von

                    PHP-Code:
                    $url "http://xxx.xxx.xxx.xxx";
                    $content file_get_contents($url);
                    var_dumphtmlspecialchars($contentENT_QUOTES,"UTF-8") ); 
                    deine gesuchten Zeilen dann in $content enthalten sein.

                    Kommentar


                    • #11
                      Hast du die Dokumentation deiner Heizungsanlage vorliegen. Wenn die Heizung Daten ausgibt kann man die auch einlesen, sie schreibt ja in ein Javascript, dann geht das bestimmt auch anders.

                      Kommentar

                      Lädt...
                      X