Sonderzeichen formatieren?

Anfängerfragen zum Programmieren mit PureBasic.
es_91
Beiträge: 410
Registriert: 25.01.2011 04:48

Sonderzeichen formatieren?

Beitrag von es_91 »

Code: Alles auswählen

Bernd Krüger
Bernd Krüger
Kann PureBasic HTMl-Sonderzeichen automatisch (in einem String) kodieren/dekodieren?
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Sonderzeichen formatieren?

Beitrag von NicTheQuick »

Nicht, dass ich wüsste. Aber heutzutage ist das doch auch gar nicht mehr nötig, wenn man im Documenttype UTF8 angibt.
es_91
Beiträge: 410
Registriert: 25.01.2011 04:48

Re: Sonderzeichen formatieren?

Beitrag von es_91 »

Ich muss hier Daten aus einer Website auslesen, die beginnt wie folgt:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
    "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
... und verwendet trotzdem diese HTML-Symbole. :|
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Sonderzeichen formatieren?

Beitrag von Kiffi »

@es_91: Das hier könnte helfen: HTMLEncoder / HTMLDecoder

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: Sonderzeichen formatieren?

Beitrag von TroaX »

Das Zeichensatzformat hilft leider auch nicht, wenn der Entwickler der Seite die Umlaute trotzdem als Entities in die Page castet. &UUML; steht für & = Entity, U = U, UML = Umlaut, ; = Entity-Ende. Das gleiche geht mit O und A. Das kommt oftmals vor, wenn eine Seite auf ein CMS/Serverskript aufbaut, das noch auf Grund der Abwärtskompatibilität die Sonderzeichen als Entities an den Browser weitergibt.

Entweder du nutzt den Link von Kiffi oder du schreibst einen eigenen Parser, der nach den Entities sucht und diese dann durch die Umlaute ersetzt. Aber es ist schon recht leicht, das ganze in die richtigen Texte umzuwandeln. ;)

Gruß Troax
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
es_91
Beiträge: 410
Registriert: 25.01.2011 04:48

Re: Sonderzeichen formatieren?

Beitrag von es_91 »

Kiffi hat geschrieben:@es_91: Das hier könnte helfen: HTMLEncoder / HTMLDecoder

Grüße ... Kiffi
Oh ja, danke Dir. :)
TroaX hat geschrieben:Aber es ist schon recht leicht, das ganze in die richtigen Texte umzuwandeln.
Per Hand, oder wie? Einen Parser zu schreiben, dafür hab ich echt keine Zeit. ^^ :mrgreen:
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: Sonderzeichen formatieren?

Beitrag von TroaX »

LOL ähm und hier? http://www.purebasic.com/german/documen ... tring.html

Ich gebe zu, das Parser der etwas zu heftige Begriff dafür war. Aber mit der Funktion geht es wirklich einfach. Denn das Entity-Muster von HTML ist das einzige, das nach diesem Prinzip im HTML-Parser arbeitet und jedes Entity hat ne fixe Bedeutung. Du kannst also mit ReplaceString problemlos nach und nach die gewünschten Entities austauschen. Eine Kollision mit Entities für die Darstellung dieser ist ebenfalls ausgeschlossen, da die Entities für die Darstellung erneut in Entities umgewandelt werden. ;)

Für Umlaute brauchste das ganze also nur 3 mal.

Gruß Troax
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
es_91
Beiträge: 410
Registriert: 25.01.2011 04:48

Re: Sonderzeichen formatieren?

Beitrag von es_91 »

Ja, Du hast recht, ich nehme aber trotzdem lieber den code von luis, der ist vollständig. 8)
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: Sonderzeichen formatieren?

Beitrag von TroaX »

Hehe ok :D
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Antworten