- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 11-06-2005, 15:22
Laire
 Registrierter Benutzer
Links : Onlinestatus : Laire ist offline
Registriert seit: May 2004
Beiträge: 741
Laire ist zur Zeit noch ein unbeschriebenes Blatt
Standard 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.

Geändert von Laire (11-06-2005 um 15:25 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 11-06-2005, 15:52
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

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

Zitat:
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.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 11-06-2005, 16:15
Laire
 Registrierter Benutzer
Links : Onlinestatus : Laire ist offline
Registriert seit: May 2004
Beiträge: 741
Laire ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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...
Mit Zitat antworten
  #4 (permalink)  
Alt 11-06-2005, 16:30
ankh
 Member
Links : Onlinestatus : ankh ist offline
Registriert seit: May 2005
Beiträge: 304
ankh ist zur Zeit noch ein unbeschriebenes Blatt
ankh eine Nachricht über ICQ schicken
Standard

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

Geändert von ankh (11-06-2005 um 16:32 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 11-06-2005, 16:40
Laire
 Registrierter Benutzer
Links : Onlinestatus : Laire ist offline
Registriert seit: May 2004
Beiträge: 741
Laire ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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.....
Mit Zitat antworten
  #6 (permalink)  
Alt 11-06-2005, 17:20
Hopka
 PHP Expert
Links : Onlinestatus : Hopka ist offline
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.172
Hopka ist zur Zeit noch ein unbeschriebenes Blatt
Hopka eine Nachricht über ICQ schicken
Standard

Ich würde mir mal imagettftext oder imageloadfont ansehen!

Dann kannst du auch "echte" Schriftarten laden, die auch diverse Sonderzeichen enthalten.
__________________
hopka.net!
Mit Zitat antworten
  #7 (permalink)  
Alt 11-06-2005, 17:27
ankh
 Member
Links : Onlinestatus : ankh ist offline
Registriert seit: May 2005
Beiträge: 304
ankh ist zur Zeit noch ein unbeschriebenes Blatt
ankh eine Nachricht über ICQ schicken
Standard

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

ausserdem sieht's dann auch gleich hübscher in der Grafik aus
Mit Zitat antworten
  #8 (permalink)  
Alt 11-06-2005, 22:21
Laire
 Registrierter Benutzer
Links : Onlinestatus : Laire ist offline
Registriert seit: May 2004
Beiträge: 741
Laire ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das ist echt mist, ich habe jetzt knapp 50 verschiednen Schriftarten ausprobiert, aber bisher hat noch keine das Zeichen richtig interpretiert...
Mit Zitat antworten
  #9 (permalink)  
Alt 11-06-2005, 22:26
ankh
 Member
Links : Onlinestatus : ankh ist offline
Registriert seit: May 2005
Beiträge: 304
ankh ist zur Zeit noch ein unbeschriebenes Blatt
ankh eine Nachricht über ICQ schicken
Standard

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.
Mit Zitat antworten
  #10 (permalink)  
Alt 11-06-2005, 22:59
Laire
 Registrierter Benutzer
Links : Onlinestatus : Laire ist offline
Registriert seit: May 2004
Beiträge: 741
Laire ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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?
Mit Zitat antworten
  #11 (permalink)  
Alt 12-06-2005, 00:04
ankh
 Member
Links : Onlinestatus : ankh ist offline
Registriert seit: May 2005
Beiträge: 304
ankh ist zur Zeit noch ein unbeschriebenes Blatt
ankh eine Nachricht über ICQ schicken
Standard

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.
Mit Zitat antworten
  #12 (permalink)  
Alt 12-06-2005, 10:56
Laire
 Registrierter Benutzer
Links : Onlinestatus : Laire ist offline
Registriert seit: May 2004
Beiträge: 741
Laire ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Tja wie es schaut gibt es wohl keine Lösung für das Problem...
Mit Zitat antworten
  #13 (permalink)  
Alt 12-06-2005, 11:16
ankh
 Member
Links : Onlinestatus : ankh ist offline
Registriert seit: May 2005
Beiträge: 304
ankh ist zur Zeit noch ein unbeschriebenes Blatt
ankh eine Nachricht über ICQ schicken
Standard

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

sonst fiele mir da auch nix mehr ein...
Mit Zitat antworten
  #14 (permalink)  
Alt 12-06-2005, 14:08
Laire
 Registrierter Benutzer
Links : Onlinestatus : Laire ist offline
Registriert seit: May 2004
Beiträge: 741
Laire ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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

Also kann geclosed werden
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:59 Uhr.