tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
1439
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    fixxxxxi fixxxxxi ist offline Mitglied Gold
    Registriert seit
    Jan 2009
    Beiträge
    132
    Hallo. Ich möchte ein dynamisches PNG erstellen, welches ein Rankingbutton ist.

    Der Code für das dynamische Bild, welches ich bis jetzt habe ist folgender:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    <?php
    header("Content-type: image/png");
     
    $image = imagecreatefrompng("cb_bg.png");
     
    //imagecolorallocate($image, R, G, B) in HEX values
    $font_black = imagecolorallocate($image, 2, 1, 8);
    $font_blue = imagecolorallocate($image, 25, 0, 255);
     
    $string = file_get_contents('rank.html');
     
    //($image, fontsize, rightindent, downindent, data, txtcolour)
    imagestring($image, 3, 12, 40, $string, $font_blue);  
     
    imagepng($image);
    imagedestroy($image);
     
    ?>

    Nun geht es insbesondere um den $string. Dieser soll nicht den Quellcode der HTML Datei als Text ausgeben, und in dem Bild anzeigen, so wie es bei dem oben dargestellten Code passiert, sondern es soll vielmehr das die Ausgabe bzw. das Ergebniss des JavaScript angezeigt werden.

    Der Inhalt der HTML ist folgender:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    <font size=1 color=#FFFFFF>
    </br>
    </br>   
    </br>
    </br>
    CB 2on2 Rank:
    <script language='JavaScript' src='http://clanbase.ggl.com/cbrank.php?cid=1674516&lid=501&type=js'></script>
    </br>
    CB 3on3 Rank:
    <script language='JavaScript' src='http://clanbase.ggl.com/cbrank.php?cid=1674516&lid=865&type=js'></script>
    </br>
    CB 4on4 Rank:
    <script language='JavaScript' src='http://clanbase.ggl.com/cbrank.php?cid=1674516&lid=268&type=js'></script>
    </br></font>

    Ich habe die Bilder, gewollt.jpg und ungewollt.jpg als Anhang mit hochgeladen, damit man sich besser und schneller vorstellen kann, was ich eigentlich möchte.

    Was muss ich wie ändern?
    Angehängte Grafiken Angehängte Grafiken   
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    du könntest dieses JS-File mit PHP auslesen und die enthaltene Zahl daraus extrahieren.
     

  3. #3
    fixxxxxi fixxxxxi ist offline Mitglied Gold
    Registriert seit
    Jan 2009
    Beiträge
    132
    Genau dies hab ich ja mit file_get_contents probiert. Nur gint er halt nicht eine Zahl bzw. den Inhalt aus, sondern den Quelltext.

    Wie würde denn der richtige Quelltext meiner PHP lauten müssen?
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Du musst die Zahl aus dem, was du erhältst, erst noch herausfiltern, bspw. per preg_match()
     

  5. #5
    fixxxxxi fixxxxxi ist offline Mitglied Gold
    Registriert seit
    Jan 2009
    Beiträge
    132
    das problem bei preg_match() ist, das ich bei $pattern einen wert, bzw. eine zeichenfolge angeben muss, nachdem gesucht werden soll. nur ist dieser wert in der javaacript ja auch dynamisch also ändert sich.
     

  6. #6
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Das ist kein Problem, denn dazu ist preg_match() ja da.
    Ein regulärer Ausdruck($pattern) kann eben mehr, so findet er auch beliebig viele Ziffern am Stück:
    Code :
    1
    
    \d+
    Geändert von Sven Mintel (25.01.09 um 00:38 Uhr)
     

  7. #7
    fixxxxxi fixxxxxi ist offline Mitglied Gold
    Registriert seit
    Jan 2009
    Beiträge
    132
    Habs jetzt so geändert... nur leider funktioniert es nicht...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    <?php
    header("Content-type: image/png");
     
    $image = imagecreatefrompng("cb_bg.png");
     
    //imagecolorallocate($image, R, G, B) in HEX values
    $font_black = imagecolorallocate($image, 2, 1, 8);
    $font_blue = imagecolorallocate($image, 25, 0, 255);
     
    $string = file_get_contents('rank.html');
     
    preg_match('/(\d+)/', $string, $image);
     
     
    //($image, fontsize, rightindent, downindent, data, txtcolour)
    imagestring($image, 3, 12, 40, $string, $font_blue);  
     
    imagepng($image);
    imagedestroy($image);
     
    ?>

    Ich hab mal versucht das ganze ohne das Bild zu machen, also einfach nur die zahl zu filtern.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    <?php
     
    $str = file_get_contents('rank.html');
     
    preg_match('/(\d+)/', $str, $treffer);
     
    print_r($treffer);
     
    ?>

    Das Problem ist, das mir nicht das Ergebniss gefiltert wird, sondern die erste Zahl in der HTML angezeigt wird.

    Kannst du mir nicht bitte den Quelltext der PHP so anpassen, das es funktioniert? Ich bekomme es einfach nicht hin.
    Geändert von fixxxxxi (25.01.09 um 15:39 Uhr)
     

  8. #8
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Warum verarbeitest du die rank.html ....du brauchst die JS-Datei, dort steht nur 1 Zahl drinnen, und zwar die, die die brauchst:

    PHP-Code:
    <?php
      $file
    ='http://clanbase.ggl.com/cbrank.php?cid=1674516&lid=268&type=js';
      
    $string=(preg_match('@document.write\((\d+)\)@',file_get_contents($file),$match)) ? $match[1] : 'n/a';
      echo 
    $string;
    ?>
     

  9. #9
    fixxxxxi fixxxxxi ist offline Mitglied Gold
    Registriert seit
    Jan 2009
    Beiträge
    132
    Dank deiner Info t es jetzt genauso wie ich es wollte. THX - dafür! Für alle, die den kompletten Quelltext wollen, poste ich ihn hier.

    Link zum dynamischen PNG.

    PHP-Code:
    <?php
    header
    ("Content-type: image/png");

    $image imagecreatefrompng("cb_bg.png");

    //imagecolorallocate($image, R, G, B) in HEX values
    $font_black imagecolorallocate($image000);

      
    $file1='http://clanbase.ggl.com/cbrank.php?cid=1674516&lid=501&type=js';
      
    $string1=(preg_match('@document.write\((\d+)\)@',file_get_contents($file1),$match1)) ? $match1[1] : 'n/a';
      
    $file2='http://clanbase.ggl.com/cbrank.php?cid=1674516&lid=865&type=js';
      
    $string2=(preg_match('@document.write\((\d+)\)@',file_get_contents($file2),$match2)) ? $match2[1] : 'n/a';
      
    $file3='http://clanbase.ggl.com/cbrank.php?cid=1674516&lid=268&type=js';
      
    $string3=(preg_match('@document.write\((\d+)\)@',file_get_contents($file3),$match3)) ? $match3[1] : 'n/a';
      
    //($image, fontsize, rightindent, downindent, data, txtcolour)
    imagestring($image333"CLANBASE.COM"$font_black); 
    imagestring($image2320"To 2on2 Ladder"$font_black);  
    imagestring($image2330"Rank: $string1"$font_black);
    imagestring($image2345"To 3on3 Ladder"$font_black); 
    imagestring($image2355"Rank: $string2"$font_black);  
    imagestring($image2370"To 4on4 Ladder"$font_black); 
    imagestring($image2380"Rank: $string3"$font_black);   

    imagepng($image);
    imagedestroy($image);

    ?>
    Angehängte Grafiken Angehängte Grafiken  
     

Ähnliche Themen

  1. Dynamisches Javascript nach Ajax Aufruf
    Von elwood82 im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 03.07.08, 12:06
  2. Dynamisches Formular Javascript/PHP - Dringend
    Von zimmermann2006 im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 19.11.06, 21:33
  3. Javascript includen
    Von Sealtuagn im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 10.08.05, 17:46
  4. javascript in asp includen
    Von jeene im Forum ASP
    Antworten: 1
    Letzter Beitrag: 05.08.04, 12:08
  5. dynamisches formular mit PHP und JavaScript
    Von RoninRobert im Forum PHP
    Antworten: 5
    Letzter Beitrag: 23.12.03, 21:17

Stichworte