Problem beim Einfügen von Text in mit PHP erstelten Bildern

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

  • Problem beim Einfügen von Text in mit PHP erstelten Bildern

    Hallo,

    ich habe folgendes Problem, ich ziehe mir mit Hilfe von PHP Texte von einer Seite, und verarbeite die dann in einer Grafik, aber Sonderzeichen aus dieser Grafik, werden nicht korrekt umgesetzt.

    Also die Seite von der ich die Infos ziehe ist:

    http://gunbound.softnyx.net/05_ranki...arch_Txt=apo86

    das a in fear ist ein Sonderzeichen wird aber in meiner Grafik so dagestellt:

    http://stats.ug-team.de/1/1.php?id=apo86

    mein Code sieht so aus:

    PHP-Code:

    <?php

    //Alle Fehler an
    Error_reporting(E_ALL);

    //Feslegung des zu suchenden Nicks


    //Holen der Daten von der Gunbound Seite
    $f file_get_contents
    ("http://gunbound.softnyx.net/05_ranking/01_total.asp?Search_Txt=$id""r");

    //Ausschneiden des relavanten Abschnitts
    preg_match_all('=<td width\="120" height\="20" align\="center">*>(.*)GP</td>=siU'$f$a);


    //Auschneiden vom Rang
    $b $a[1][0];
    $c substr($b,0,strpos($b'('));
    $rang $c;

    //Auschneiden Level
    $d strpos($b'Rank');
    $e substr($b$d);
    $g substr($e,0,strpos($e'.'));
    $level "http://www.stats.ug-team.de/".$g.".gif";

    //Auschneiden Gilde
    $h = (strpos($e'center'))+8;
    $i substr($e$h);
    $z substr($i,0,strpos($i'<'));
    $gilde $z;

    //Ausschneiden GP
    $j = (strpos($i'center'))+8;
    $k substr($i$j);
    $l = (strpos($k'center'))+8;
    $m substr($k$l);
    $gp $m;



    //echo "Game ID: ".$id."<br />";
    //echo "Rang: ".$rang."<br />";
    //echo "Level: ".$level."<br />";
    //echo "Gilde: ".$gilde."<br />";
    //echo "GP: ".$gp."<br />";

    $pthImage1 "statsbg.gif";


    $im imagecreatetruecolor (150173); 
    $tc1  imagecolorresolve ($im255255255); 
    $im1 imagecreatefromgif($pthImage1);
    $im2 imagecreatefromgif($level);

    ImageCopy ($im$im10000150173);
    ImageCopy ($im$im210890002515); 
     
    ImageString($im35547$id$tc1); 
    ImageString($im35527$gilde$tc1);
    ImageString($im360126$gp$tc1);
    ImageString($im35567$rang$tc1);
    ImageString($im360146"test"$tc1);

    header("Content-Type: image/png"); 
    imagepng($im); 
    ImageDestroy($im);  

    ?>
    Kann mir irgendwer helfen, wie ich das Problem lösen könnte?

    Die Seite von der ich die Infos hole, benutzt einen Koreanischen Schriftsatz (charset=euc-kr) aber wenn ich das Wort fear kopier und bei Word einfüge, wir es dort richtig umgesetzt.
    Zuletzt geändert von Laire; 11.06.2005, 14:25.

  • #2
    würde mal ganz einfach vermuten, dass das Alpha nicht in dem verwendeten Schriftsatz zur Verfügung steht.

    aber wenn ich das Wort fear kopier und bei Word einfüge, wir es dort richtig umgesetzt.
    Dann erstell die Grafik doch in Word :P
    Nein, im Ernst. versuch mal auf korean umzustellen. wenns nicht geht.

    Kommentar


    • #3
      Wie soll ich den auf Korean umstellen?

      Wie kann ich rausfinden welche Schriftart auf der Seite

      http://gunbound.softnyx.net/05_ranki...arch_Txt=apo86

      verwendet wird?

      In den MetaTags steht nur der charset (euc-kr) und den kann ich ja bei meiner Datei nicht bestimmen...

      Kommentar


      • #4
        Schau dir mal die mb_string funktionen an.

        ich glaub, mit mb_convert_encoding() könntest du was anfangen.

        nachtrag:

        da sind die Funktionen beschrieben. EUC-KR is auch dabei
        Zuletzt geändert von ankh; 11.06.2005, 15:32.

        Kommentar


        • #5
          Hm hat nciht viel gebracht.

          Habe

          PHP-Code:
          $z mb_convert_encoding($z"ISO-8859-1""euc-kr"); 
          eingefügt, bevor er $z in $gilde speichert, hat sich aber nciht viel verändert, hat ein Zeichen durch ein Fragezeichen ersetzt.....

          Kommentar


          • #6
            Ich würde mir mal imagettftext oder imageloadfont ansehen!

            Dann kannst du auch "echte" Schriftarten laden, die auch diverse Sonderzeichen enthalten.
            hopka.net!

            Kommentar


            • #7
              ist 'ne bessere Alternative, die mit größerer Wahrscheinlichkeit funktioniert.

              ausserdem sieht's dann auch gleich hübscher in der Grafik aus

              Kommentar


              • #8
                Das ist echt mist, ich habe jetzt knapp 50 verschiednen Schriftarten ausprobiert, aber bisher hat noch keine das Zeichen richtig interpretiert...

                Kommentar


                • #9
                  wenn's nur das eine Zeichen ist, dann folgender Vorschlag:

                  ermittle erstmal den ordinal-wert des Zeichens und ersetze diesen mittels preg_replace() durch ein normales "a".

                  greift zwar nur bei diesem einen speziellen problem, aber müsste funktionieren.

                  Kommentar


                  • #10
                    Das Problem ist ja, das eine große Anzahl von Sonderzeichen vorkommen können, dann müßte ich von jedem Möglichkeit die es gibt einen ersatzt Möglichkeit einbinden. wie ermittel ich den ordinal Wert?

                    Kommentar


                    • #11
                      mit ord() ermittelst den ordinal- bzw. ascii wert eines Zeichens.

                      Ich ging davon aus, dass es tatsächlich nur dieses eine Sonderzeichen ist.
                      Mir fiele sonst leider keine Möglichkeit ein, ein zeichen, dass nicht im iso-8859-1 Zeichensatz vorhanden ist in ein sinnvolles Zeichen umzuwandeln, ohne den Text vorher gelesen zu haben und "manuell" ein passendes substitut dafür ermittelt zu haben.

                      Ne ascii-Wert Zauberei halte ich da nicht für möglich. Schliesslich sieht das Zeichen nur ähnlich aus wie'n "a". aber ich bezweifle, dass sich das im ascii-wert oder mit ner bit-maske auf den "richtigen" buchstaben verschieben lässt.

                      Kommentar


                      • #12
                        Tja wie es schaut gibt es wohl keine Lösung für das Problem...

                        Kommentar


                        • #13
                          wenn's eine überschaubare Menge an sonderzeichen sind, kannst die "hartverdrahtet" konvertieren.

                          sonst fiele mir da auch nix mehr ein...

                          Kommentar


                          • #14
                            Problem gelöst, ist aber ein komplezierte weg, es wird jedes zeichen überprüft und ggf. durch koreanische schrifftzeichen ersetzt.

                            Also kann geclosed werden

                            Kommentar

                            Lädt...
                            X