Seite 1 von 1
plain text -> xml valid?
Verfasst: 20.10.2006, 18:45
von nerd
hallo,
welche php-function muss ich verwenden um plain-text so umzuwandeln, das ich ihn in xml-feeds verwenden kann? also die sonderzeichen muessen wohl umgewandelt werden, html darf erhalten bleiben wenn ich mir andere feeds so ansehe...
das hier funktioniert so nicht laut feedvalidtor.org:
Code: Alles auswählen
$desc = strip_tags($fdata['description']);
$desc = htmlentities($desc);
jemand ne idee?
Verfasst: 20.10.2006, 19:42
von cren
Was für ne Fehlermeldung gibt der Validator denn aus?
Verfasst: 20.10.2006, 21:32
von nerd
sagt das ich das numerische gegenstueck verwenden soll, also sowas wie
oder so aehnlich. kann aber keine funktion dafuer finden...
Verfasst: 21.10.2006, 11:40
von Outman
Hallo,
da must Du mit str_replace die Zeichen mit den er nicht klar kommt ersetzen nach htmlentities.
Gruß Nico
Verfasst: 21.10.2006, 15:40
von nerd
wie? willst du sagen da gibts keine fertige funktion dafuer die alle zeichen kennt?!
Verfasst: 21.10.2006, 16:04
von Outman
Hallo,
na ja ich würde es mit htmlspecialchars() machen und dan mit
$nonascii=array();
for($i=0;$i<32;$i++)$nonascii[chr($i)]="";
htmlspecialchars(strtr($message,$nonascii))
durchlaufen lassen.
Gruß Nico
Verfasst: 21.10.2006, 17:23
von fornex
strip_tags ist für n arsch, da es nicht alles rausfiltern kann:
Code: Alles auswählen
$search = array( '@<script[^>]*?>.*?</script>@si',
'@<[\\/\\!]*?[^<>]*?>@si',
'@<style[^>]*?>.*?</style>@siU',
'@<![\\s\\S]*?--[ \\t\\n\\r]*>@'
);
$str = preg_replace( $search, '', $str );
& # 0 6 0; kannste damit bekämpfen:
Code: Alles auswählen
$str = preg_replace( '/&#(\d+);/me', "chr(\\1)", $str );
obwohl es gar nicht nötig ist, da du htmlentities gar nicht zu verwenden brauchst