PDA

Volledige versie bekijken : [PHP-XML] Het grote html-tag mysterie


zob
%Europe/Berlin %629 %2008, 15:06
Dag allen
Reeds enkele dagen breek ik mijn hoofd over het volgende probleem.
Ik genereer een xml-file met php. Een veldje wordt ingelezen in een dynamisch tekstveld van Flash (font is ge-embed).
En dan nu het mysterie. Als ik een echte test.xml inlees in het tekstveld, dan werkt alles naar believen (font-opmaak, italic, bold, enz.).
Als ik eenzelfde file via test.php genereer, dan werken enkel de <b> en de <u> tags? Zelfs alle tekst na een <font> tag valt weg?!
Je moet hieronder maar eens proberen (het is ongeveer dezelfde fout die wordt gemaakt)
Iemand enig idee hoe dit komt?

In flash maak je een dynamisch tekstveld "scores", bij mij is de tekst gezet op "bitmap text" en daar het font ge-embed.
Op frame 1 volgende code:
var xmlScores:XML = new XML();
xmlScores.ignoreWhite = true;

xmlScores.onLoad = function(success){
if(success){
displayScores();
}
else{
trace("error scores");
}
}

function loadXMLDataScores(){
xmlScores.load("zonder_een_variabele.php");
//xmlScores.load("mbv_een_variabele.php"); (//voor test van tweede file)
}
loadXMLDataScores();

function displayScores(){
for(var i=0;i<xmlScores.firstChild.childNodes.length;i++){
scores.autoSize = true;
scores.html = true;
scores.htmlText = xmlScores.firstChild.childNodes[i].childNodes[0].firstChild.nodeValue;
}
}

stop();

De code van het bestand "zonder_een_variabele.php":
<?PHP

echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
echo "<scores>\n";

echo "<scoreItem>\n";
echo "<description><![CDATA[" . 'Sheet music order at: Belgium: <A href="http://www.goldenrivermusic.be/" target=_blank><FONT color=#fff000>Golden River Music</FONT></A> - <A href="mailto:usura@skynet.be"><FONT color=#fff000>Usura</FONT></A><BR>France: <A href="http://www.ebr.com.fr/" target=_blank><FONT color=#fff000>Editions Bourgés</FONT></A><BR>Italy: <A href="http://www.matson.it/html/bigcatzone.asp?zone=Mertens" target=_blank><FONT color=#fff000>Materiali Sonori</FONT></A><BR>The Netherlands: <A href="mailto:golden.river@hccnet.nl"><FONT color=#fff000>golden.river@hccnet.nl</FONT></A><BR>Spain: <A href="http://www.casabeethoven.com/" target=_blank><FONT color=#fff000>Casa Beethoven</FONT></A><BR>UK: <A href="mailto:juneemerson@compuserve.com"><FONT color=#fff000>JuneEmerson@compuserve.com</FONT></A>' . "]]></description>\n";
echo "</scoreItem>\n";

echo "</scores>\n";

mysql_close($link);

?>

De code van het bestand "mbv_een_variabele.php":
<?PHP

echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
echo "<scores>\n";

echo "<scoreItem>\n";
$testje = utf8_encode('Sheet music order at: Belgium: <A href="http://www.goldenrivermusic.be/" target=_blank><FONT color=#fff000>Golden River Music</FONT></A> - <A href="mailto:usura@skynet.be"><FONT color=#fff000>Usura</FONT></A><BR>France: <A href="http://www.ebr.com.fr/" target=_blank><FONT color=#fff000>Editions Bourgés</FONT></A><BR>Italy: <A href="http://www.matson.it/html/bigcatzone.asp?zone=Mertens" target=_blank><FONT color=#fff000>Materiali Sonori</FONT></A><BR>The Netherlands: <A href="mailto:golden.river@hccnet.nl"><FONT color=#fff000>golden.river@hccnet.nl</FONT></A><BR>Spain: <A href="http://www.casabeethoven.com/" target=_blank><FONT color=#fff000>Casa Beethoven</FONT></A><BR>UK: <A href="mailto:juneemerson@compuserve.com"><FONT color=#fff000>JuneEmerson@compuserve.com</FONT></A>');
echo "<description><![CDATA[" . $testje . "]]></description>\n";
echo "</scoreItem>\n";

echo "</scores>\n";

mysql_close($link);

?>

De 2 .php-bestanden geven een identieke output in de browser maar in het dynamisch tekstveld van flash niet. HULLEP! :P

augustynen
%Europe/Berlin %748 %2009, 17:57
Waarom maak je je tekst niet op met CSS of xslt voor je xml

Gollum
%Europe/Berlin %447 %2009, 10:44
Waarom utf8_encode ?