Problem HTML Tags in XML schreiben

Orbiter

Grünschnabel
Hallo,

ich habe ein Newsscript, dass sich seine Daten aus einer XML Datei holt. Das Script, welches für das Eintragen neuer News zuständig ist, versuche ich grade zu erweitern.
Die Erweiterung besteht darin, dass man im Newsinhalt Links einbringen kann, welche durch die Tags [Link] bzw. [/Link] gekennzeichnet sind.

Mit Hilfe von preg_replace() ersetze ich ich die Tags. Hier mal der Code.

Code:
$ptn_linkopen = "/\[Link\]/i";
$ptn_linkclose = "/\[\/Link\]/i";
$rpl_linkopen = "<![CDATA[<a href='".$_POST['URL']."' target='_blank'>";
$rpl_linkclose = "</a>]]>"; 
$DescriptionStr = preg_replace($ptn_linkopen,$rpl_linkopen,$DescriptionStr);
$DescriptionStr = preg_replace($ptn_linkclose,$rpl_linkclose,$DescriptionStr);
$description = $doc->create_element("description");
$description->set_content($DescriptionStr);


Das ersetzen der Tags klappt wunderbar, mein Problem besteht darin, dass in der XML Datei die Zeichen "<" bzw ">" durch &lt und &gt ersetzt werden.

So solls eigentlich aussehen:


Code:
<![CDATA[<a href="http://www.gmx.de"target="_blank">gmx</a>]]>

leider siehts aber so aus.

Code:
&lt;![CDATA[&lt;a href='http://www.siemens.de' target='_blank'&gt;Siemens Homepage&lt;/a&gt;]]&gt;
kann mir jemand einen Tipp geben?

mit freundlichen Grüßen

orbiter
 
Ich tippe darauf, dass in der XML-Klasse die Konvertierung der Klammern vorgenommen wird. Durchsuch mal den Quellcode der Klasse nach spitzen klammern bzw. den äquivalenten HTML-Schreibweise.

Sven
 
Achso, das könnte natürlich sein. Allerdings hab ich keinen Zugriff auf den Webserver hier um mir die Klasse mal anzusehn. Kann man denn da gar nichts machen?

Gruß Orbiter
 
Wollte nur bescheid geben, dass ich eine komfortablere Lösung gefunden habe. Und zwar gibt es in eine Funktion

string DomDocument->create_cdata_section ( string content)

damit müßte es bestimmt funktionieren.

Gruß Orbiter
 
Zurück