Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

htmlentities oder htmlspecialchars

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Pretender
PostRank 9
PostRank 9
Beiträge: 1081
Registriert: 22.04.2004, 14:44
Wohnort: Naumburg

Beitrag von Pretender » 13.01.2005, 01:27

Moin Moin an alle PHP Experten! :wink:

ich habe da mal ein kleineres problem.
Ich habe ein UTF8 XML Seite die ich mit folgenden Script auslese:

[php]
<?php
$rdffile = "Hier steht die XML URL";
$content = implode ("", file ($rdffile));
preg_match_all("|<product(.*)>(.*)</product>|Uism",$content, $items, PREG_PATTERN_ORDER);
for ($i=0;$i<count($items[0]);$i++)
{ preg_match_all(
"|<name>(.*)</name>(.*)<description>(.*)</description>(.*)<imageUrl>(.*)</imageUrl>(.*)<productUrl>(.*)</productUrl>(.*)<price>(.*)</price>(.*)<currency>(.*)</currency>|Uism",$items[0][$i], $regs, PREG_PATTERN_ORDER);
echo
"<img src='".$regs[5][0]."'>
".$regs[1][0]."
".$regs[3][0]."<br>
Preis: ".$regs[9][0]."
".$regs[11][0]."
<br>
<a href='".$regs[7][0]."' target='_blank'>Klicken Sie hier für alle Details</a><br><br><br><br><br><br><br>\n"; }
?>
[/php]

auf meiner Seit werden nun die Sonderzeichen nicht umgewandelt und ich bekomme folgenden Text angezeigt:

<!--Textanfang-->
Intel&reg; Pentium&reg; D Prozessor 710 (1.40 GHz, 2 MB Cache, 400 MHz FSB)+15.0 XGAMicrosoft&reg; Windows&reg; XP Home
<!--Textende-->

Mit wurde gesagt das ich es mit htmlspecialchars oder htmlentities versuchen soll.
Da ich nun allerdings nicht so ganz fit bin in PHP...
Wie müsste das obige Script aussehen um die UTF8 Seite in 8859-1 (nehme ich an) gewandelt zu werden?

Vielen Dank an alle!

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

MikeD
PostRank 4
PostRank 4
Beiträge: 108
Registriert: 12.08.2004, 22:32
Wohnort: Idar-Oberstein

Beitrag von MikeD » 13.01.2005, 09:41

Sieht so aus als ob deine '&' als & auftauchen - also anstatt &reg; kommt &reg raus.

Versuch mal :

Code: Alles auswählen

$content = preg_replace&#40;'/&#&#40;x&#91;a-f0-9&#93;+|&#91;0-9&#93;+&#41;;/i', '&#$1;', $content&#41;;
hinter der dritten zeile: nicht getestet.

Pretender
PostRank 9
PostRank 9
Beiträge: 1081
Registriert: 22.04.2004, 14:44
Wohnort: Naumburg

Beitrag von Pretender » 13.01.2005, 12:04

Moin Moin,
Ich habe der 3. Zeile Deinen Codeschnipsel angehängt.

Code: Alles auswählen

$content = implode &#40;"", file &#40;$rdffile&#41;&#41;;$content = preg_replace&#40;'/&#&#40;x&#91;a-f0-9&#93;+|&#91;0-9&#93;+&#41;;/i', '&#$1;', $content&#41;;
funktioniert leider nicht. Die Darstellung von & ® und anderen Sonderzeichen wird immernoch falsch wiedergegeben. :cry:

mfg
Pretender