Hallo zusammen!
Gibt es einen meta-Tag (oder ähnliches), der automatisch dafür sorgt, das das & in & umgekodet wird?
Oder ist da Handarbeit angesagt, und alle in Frage kommenden & selbst umschreiben??
Danke und Gruß
Marcus
Ich würde auf Handarbeit setzten, da kann wenig schiefgehen.
Einen Meta Tag gibt es nicht.
Gff. eine Lösung per Javascript und eine mit PHP.
Hallo Marcus
Wenn ich dich jetzt richtig verstehe willst du deine Ausgabe von & entweder als Entity oder in UTF darstellen.
str_replace(\' & \',\' & \',$deine_ausgabe)
Hallo zusammen!
Es geht mir hier speziell um diesen RSS-Feed
Der meckert, weil in manchen Beschreibungen das Kaufmännische & in Klartext verwendet wird. Und das würde ich gerne geändert bekommen.
Nur meine Ahnung in php fusst auf Versuch und Irrtum.
Gruss
Marcus
Hallo Marcus
Ich habe im Moment keinen Code greifbar mit einer MySQL Datenbank aber vielleicht hilft der mit der XML Datenbank dir trotzdem weiter.
if(!ob_start("ob_gzhandler")) ob_start();
header("Content-Type: application/xml; charset=utf-8");
echo \'<?xml version="1.0" encoding="UTF-8"?>\';
error_reporting(E_ALL);
echo \'<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="http://example.com/rss.php" rel="self" type="application/rss+xml" />
<title>Titel</title>
<link>
Hallo Jörg!
Danke für Deine Mühe.
Ich habe für die Komponente in einer php-Datei die Stelle gefunden, die den Feed ausgibt: function sem_g023($rows) {
header("Content-Type: application/rss+xml; charset=UTF-8");
$mainconfig =& JFactory::getConfig();
$config = &JComponentHelper::getParams(\'com_seminar\');
$sprache =& JFactory::getLanguage();
$html = "\\n<rss version=\\"2.0\\">";
$html .= "\\n<channel>";
$html .= "\\n<title>".$mainconfig->getValue(\'config.sitename\')." - ".JTEXT::_(\'SEM_0083\')."</title>";
$html .= "\\n<link>".JURI::ROOT()."index2.php?s=".sem_f036()."&option=".JRequest::getCmd(\'option\')."&task=31";
$html .= "\\n<description>Kurze Beschreibung des Feeds</description>";
$html .= "\\n<language>".$sprache->getTag()."</language>";
$html .= "\\n<copyright>".$mainconfig->getValue(\'config.fromname\')."</copyright>";
$html .= "\\n<ttl>60</ttl>";
$html .= "\\n<pubDate>".date("r")."</pubDate>";
foreach($rows AS $row) {
$user = &JFactory::getuser($row->publisher);
$cancelled = "";
if($row->cancelled==1) {
$cancelled = " - ".JTEXT::_(\'SEM_0103\');
}
$html .= "\\n<item>";
$html .= "\\n<title>".$row->title.$cancelled."</title>";
$html .= "\\n<description>".JTEXT::_(\'SEM_0009\').": ".JHTML::_(\'date\',$row->begin,$config->get(\'sem_p067\',JTEXT::_(\'SEM_0167\')),0)." - ".$row->shortdesc."</description>";
$html .= "\\n<link>".JURI::ROOT()."index.php?option=".JRequest::getCmd(\'option\')."&task=3&cid=".$row->id."";
if($config->get(\'sem_p050\',0)>0) {
$html .= "\\n<author>".$user->name.", ".$user->email."</author>";
}
$html .= "\\n<guid>".sem_f002($row->id)."</guid>";
$html .= "\\n<category>".$row->category."</category>";
$html .= "\\n<pubDate>".date("r",strtotime($row->publishdate))."</pubDate>";
$html .= "\\n</item>";
}
$html .= "\\n</channel>";
$html .= "\\n</rss>";
echo $html;
exit;
}
Wobei ich aber nicht weiß, ob das allein ausreicht, den zu erzeugen und auch auszugeben.
Und habe da auch schon den Befehl für die htmlspecialchars eingefügt, jedoch leider ohne Erfolg.
Gruß
Marcus
Hallo Markus
Wenn ich das jetzt richtig interpretiere müsstest du
$row->title durch htmlspecialchars($row->title)
und
$row->shortdesc durch htmlspecialchars($row->shortdesc)
ersetzen.
Das müsste dann die Variablen betreffen in denen theorethisch ein & vorkommen könnte.
Doch das ist der komplette Feed.
Gruß
Jörg
Hallo Jörg!
Es funktioniert!!!
Danke, Danke!
Gruß
Marcus
Markus, Du hast wieder das suboptimale grün in den Links
> nich schön
grüsse, juergen
Hallo Juergen!
Wo denn??
Ich hab jetzt mal den ccleaner drüberlaufen und den Browserverlauf löschen lassen.
Bei mir sind die Links immer noch blau...
Gruß
Marcus
PS @Jörg: ich hab Dich als Danke-schön für deine Hilfe mal auf meinem Blog verewigt
Hallo Markus
Wenn du meinen Namen verlinkst dann würde ich es bevorzugen, das dann meine private Seite joerghuelsermann.de als Ziel existiert. Wegen Themenrelevanz und so weiter.
Beitrag erstellen
EinloggenKostenlos registrieren