XML in Flash met PHP str_replace
Ik ben hier nu al bijna twee dagen mee bezig, maar ik kom er niet uit. Het plan is om een RSS feed te weergeven in Flash van http://www.spitsnieuws.nl/index.xml. Alles werkt perfect, behalve dat speciale tekens (zoals ëé' enz) niet worden weergeven. Character embedding in Flash werkt niet want de tekens in XML staan niet in herkenbare HTML codes.
Toen had ik het plan om de RSS feed op te halen via een PHP script, de speciale tekens op te zoeken en te replacen met HTML tags die Flash wel herkend. Alles werkt, ik kan letters of woorden vervangen, maar nu loop ik tegen een paal. Als ik in het XML bestand zoek naar een teken zoals ë of é, dan wordt deze niet gevonden. XML codeerd deze tekens op een bepaalde manier dat niet gelezen kan worden door het PHP script. Het script ziet er als volgt uit:
$fouten = array("é", "é", "é", "é");
Deze zoekt naar de XML code, hexcode, html code en de daadwerkelijke é. Werkt allemaal niet. Kan iemand me verder helpen?
Toen had ik het plan om de RSS feed op te halen via een PHP script, de speciale tekens op te zoeken en te replacen met HTML tags die Flash wel herkend. Alles werkt, ik kan letters of woorden vervangen, maar nu loop ik tegen een paal. Als ik in het XML bestand zoek naar een teken zoals ë of é, dan wordt deze niet gevonden. XML codeerd deze tekens op een bepaalde manier dat niet gelezen kan worden door het PHP script. Het script ziet er als volgt uit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>";
$rss = simplexml_load_file('http://www.spitsnieuws.nl/index.xml');
$title = $rss->channel->title;
foreach ($rss->channel->item as $item) {
echo "<item>";
$fouten = array("é", "é", "é", "é");
$vervang = array("é", "é", "é", "é");
$nieuwe_zin = str_replace($fouten, $vervang, $item->title);
echo "<title>" . $nieuwe_zin . "</title>";
$nieuwe_zin2 = str_replace($fouten, $vervang, $item->description);
echo "<description>" . $nieuwe_zin2 . "</description>";
echo "</item>";
}
?>
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>";
$rss = simplexml_load_file('http://www.spitsnieuws.nl/index.xml');
$title = $rss->channel->title;
foreach ($rss->channel->item as $item) {
echo "<item>";
$fouten = array("é", "é", "é", "é");
$vervang = array("é", "é", "é", "é");
$nieuwe_zin = str_replace($fouten, $vervang, $item->title);
echo "<title>" . $nieuwe_zin . "</title>";
$nieuwe_zin2 = str_replace($fouten, $vervang, $item->description);
echo "<description>" . $nieuwe_zin2 . "</description>";
echo "</item>";
}
?>
$fouten = array("é", "é", "é", "é");
Deze zoekt naar de XML code, hexcode, html code en de daadwerkelijke é. Werkt allemaal niet. Kan iemand me verder helpen?
Gesponsorde koppelingen:
Kijk eerst eens zelf naar dat xml bestand en kijk hoe zo'n é er in staat..
Ik zie er momenteel geen speciale tekens in staan.
Ik zie er momenteel geen speciale tekens in staan.
Ik heb zelf een XML aangemaakt, exacte kopie van spitsnieuws toen er wel speciale tekens in stonden. De speciale tekens staan er letterlijk in dus é zoals é, heel af en toe staat de ' als '.
Toevoeging op 15/10/2010 14:01:17:
Ok dan ik heb het eindelijk werkend gekregen, ik zal de oplossing zo posten!
Toevoeging op 15/10/2010 14:01:17:
Ok dan ik heb het eindelijk werkend gekregen, ik zal de oplossing zo posten!



