php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.10.2005, 17:25  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard text-decodierung

hi

habe hier ein text den ich decodieren möchte , so das die umlaute und sonderzeichen ordentlich angezeigt weden.

Beispiel-Text:

"
Anders als bei einer totalen verdeckt der Mond die Sonne bei einer ringförmigen Sonnenfinsternis auch im Kernbereich nicht komplett, ein heller „Feuerring“ bleibt sichtbar. Der Mond braucht morgen über eine Stunde, um die maximale Bedeckung zu erreichen, die bis zu vier Minuten dauert, und noch einmal eine Stunde, bis die Sonne wieder ganz sichtbar ist. In einem mehrere hundert Kilometer breiten Bereich ist die Sonne noch weniger verdeckt. Hier spricht man von einer partiellen Sonnenfinsternis.
"
es soll ne art Stingfunktion oder sowas sein, womit ich den text parsen kann. ich will aber möglichts nicht str_replace benutzen, wenn es da noch was anderes gibt.
__________________
Alpha Centauri ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.10.2005, 17:38  
Gast
 
Beiträge: n/a
Standard

Zitat:
so das die umlaute und sonderzeichen ordentlich angezeigt weden.
Wo gibst Du es denn aus? Kann man da nicht einfach die "richtige" Kodierung einstellen, wie zB bei (X)HTML
Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE [...]>
<html>[...]
oder noch besser über den entsprechenden http header?
 
Alt 02.10.2005, 17:49  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

es geht um die umwandlung der orginalquelle, denn die zeichen sind schon so bei
file_get_contents('WWW-LINK') so importiert worden. es sollen nicht die zeichen anders ausgegeben werden , sondern schon richtig umgewandelt werden, die daten werden später in einer DB oder Text-Datei lesbar gespeichert. wenn es da noch eine möglichkeit gibt die quelle anders auszulesen , so dass das problem nicht auftritt ist das auch eine lösung.

die quelle ist übrigens wikipedia.
__________________
Alpha Centauri ist offline  
Alt 02.10.2005, 21:00  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

so! habe eine teillösung!

// Sonderzeichen umwandeln
  • $load = str_replace('ö','ö',$load); // ö

    $load = str_replace('ä','&auml;',$load); // ä
    $load = str_replace('Ä','Ä',$load); // Ä
    $load = str_replace('Ü','&Uuml;',$load); // ü
    $load = str_replace('ü','&uuml;',$load); // Ü
    $load = str_replace('„','"',$load); // "
    $load = str_replace('“','"',$load); // "
    $load = str_replace('–',' - ',$load); // -
    $load = str_replace('ß','ß',$load); // ß

ich hoffe ich finde noch das Ö und eventuell andere sonderzeichen [/list]
__________________
Alpha Centauri ist offline  
Alt 02.10.2005, 22:18  
Gast
 
Beiträge: n/a
Standard

Zitat:
$load = str_replace('ä','&auml;',$load); // ä
Du läßt es Dir also von einem html browser anzeigen?
Dann teile diesem doch mit, dass es sich um utf8 Daten handelt.
Code:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE [...]>
<html>
 
Alt 03.10.2005, 02:46  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

hier nochmal:

es soll keine rolle spielen ob es von einem browser angezeigt werden kann, sondern die quelle die nicht von mir ist, liefert schon die 'komischen' zeichen. also muss ich die zeichen umwandeln. da nützt mir ein browser überhaupt nix, denn es soll nur gelesen und geschrieben werden z.b. in eine datenbank oder in eine textdatei.

ich mache file_get_contents(WWW von einer Seite) und
erhalte dadurch die Zweichen, ob ich will oder nicht. da kann ich mich auf den kopf stellen und den brauser 100mal laden und sonstwas. ich muss die geladenen daten der die durch die quelle erzeugt wurden umwandeln.

eigentlich wollt ich nur wissen ob es dafür eine funktion gibt, denn ich hab noch keine gefunden. sowas wie urlencode, nur eben für diese sonderzeichen.
__________________
Alpha Centauri ist offline  
Alt 03.10.2005, 02:56  
Gast
 
Beiträge: n/a
Standard

Ein letztes mal versuche ich es noch.
Zitat:
ich mache file_get_contents(WWW von einer Seite) und
erhalte dadurch die Zweichen, ob ich will oder nicht.
Ja, natürlich erhälst Du diese Zeichen. Denn diese Zeichen stehen bei utf-8 für ä,ö,ü usw und die Quelle wird sicherlich auch utf-8 angekündigt haben.*
Aber dass sie nicht so angezeigt werden, wie Du willst, liegt weder an der Quelle noch an file_get_contents, sondern an Deinem Anzeigemedium.
Ob die Zeichen als ä,ö,ü oder als ä, ö, Ü angezeigt werden, hängt davon ab, ob Dein Anzeigemedium mit utf-8 klarkommt und auch mitgeteilt bekommen hat, dass die Daten in utf-8 codiert sind.
Genauso wie mit &auml;
Da wird doch auch nur bei html-Anzeige ein ä draus, ansonsten sind es diese 'komischen' Zeichen & a u m l ;
Wenn Du das jetzt immer noch nicht verstanden hast, kannst Du das Problem verschieben und die utf8 Daten mit utf8_decode() in ISO-8859-1 umwandeln lassen.
Bei html-Anzeige solltest Du dann immer noch die entsprechende Kodierung angeben. Aber Dein Texteditor wird Dir vermutlich schon ohne weitere Einstellungen die Umlaute anzeigen.


----
* Wikipedia kündigt in der Tat utf-8 an. Deshalb werden die Zeichen im Browser auch "richtig" als Umlaute dargestellt.
Dazu sendet es einmal den http header
Zitat:
Content-Type: text/html; charset=utf-8
und gibt auch im html Dokument
Zitat:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
an.
 
Alt 03.10.2005, 03:06  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

ich lass mir ja die zeichen nicht einfach so ausgeben , sondern mit htmlentities, sollte dass etwa zur falschen anzeige führen? immerhin stellt htmlentities die zeichen so um das diese auch so zu lesen sind wie sie in der quelle stehen. darüberhinaus kommt auch beim quelltextlesen das selbe ergebniss. bei der quelltextanzeige meiner daten werden mir die gleichen zeichen ausgegeben, sollte da auch mein editor versagen? ich benutze notepad++ , bei aufruf quelltext anzeigen wir automatisch der quelltext im editor angezeigt. ich könnte höchsten noch den text zur probe speichern. um zu prüfen ob es nur an der einstellung von editor und browser liegt.
__________________
Alpha Centauri ist offline  
Alt 03.10.2005, 03:15  
Gast
 
Beiträge: n/a
Standard

htmlentities() beschäftigt sich zwar mit einem ähnlichen, aber doch unterschiedlichen Thema.
In notepad++ die Datei öffnen, danach Menü:Format, "Encode in utf-8", staunen
 
Alt 31.10.2005, 21:02  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

Das Problem wurde jetzt mit iconv() ,PHP version 5.0, gelöst!
__________________
Alpha Centauri ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JavaScript/PHP: qooxdoo 0.7.1 - Teil 1 : Eine Einführung Zergling-new Tutorials 6 25.01.2008 10:41
JavaScript: Text Area: Scrollen zu einer Zeile im Text SvenLittkowski HTML, Usability und Barrierefreiheit 13 28.11.2007 16:31
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
MySQL-Volltextsuche SvenLittkowski Datenbanken 6 14.06.2007 19:58
spalte rechts ausrichten, text aber trotzdem linksbündig Crypi HTML, Usability und Barrierefreiheit 5 14.09.2006 11:35
HTML-Entities nur für Text, nicht für HTML-Tags PHP-Fortgeschrittene 2 31.12.2005 00:08
CSS - Design (clear - Problem) HTML, Usability und Barrierefreiheit 7 21.12.2005 14:55
Text aus der DB verteilen PHP Tipps 2007 17 16.11.2005 12:04
[Erledigt] Link PHP Tipps 2005-2 10 20.07.2005 21:28
[Erledigt] DIV´s wollen nicht wie ich das will :-) HTML, Usability und Barrierefreiheit 22 28.03.2005 18:36
frames probleme HTML, Usability und Barrierefreiheit 6 18.01.2005 02:33
Per Button Text formatieren Igäl HTML, Usability und Barrierefreiheit 1 11.11.2004 06:25
Javascript: Text einfügen geht nich über "javascript:BL HTML, Usability und Barrierefreiheit 14 19.10.2004 21:44
Zeilenumbrüche aus einem formatierten Text entfernen woods PHP Tipps 2004 9 23.09.2004 12:50
txt-Datei erstellen d-81 PHP Tipps 2004 12 11.08.2004 20:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ß php, text decodierung, schrift decodieren, decodierung von text, ã¶ dekodieren, utf8_decode ß ÃŸ, textdecodierung, decodierung quelltext, php ã¶ in ö wandelm, decodieren von buchstaben mit äöüß, file_get_contents txt ä ö ü, zeilenumbruch umwandeln ã¼ php, decodierung ae, decodierung ãÿ, dekodierung d ô ow|‹ )è, ã¶ in ö umwandeln, umlaute dekodieren, jquerry &auml; ä, decodierung text, php html in text decodieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.