XML einlesen und in Datenbank speichern

piti66

Erfahrenes Mitglied
Hey,

ich will folgendes machen. Ich möchte dieses http://www.ariola.de/rss/ariola_aktuelles.xml dieses XML-File einlesen und in einer Datenbank speichern.
Hab ich eigentlich schon öfter gemacht, nur ist diesmal das Problem, dass description so aussieht:
<a href="http://www.ariola.de/kuenstlerebene.html?id=40">

Die Zeichen sind maskiert!
Ich mache folgendes:
PHP:
$URL = 'http://www.ariola.de/rss/ariola_aktuelles.xml';
$data = join('', file( $URL ) );
  preg_match_all('~<item rdf:about="http://www.ariola.de/aktuelles.html##[0-9]{1,5}">(.+)</item>~isU', $data, $items);
   foreach ($items[1] as $item) {
    $item=str_replace(array("\r", "\n"), " ", $item);
    preg_match('~<title>(.+)</title>~iU', $item, $title);
    preg_match('~<link>(.+)</link>~iU', $item, $link);
    preg_match('~<description>(.+)</description>~iU', $item, $content);
    preg_match('~<dc:date>(.+)</dc:date>~iU', $item, $date);        
           
    $text=$content[1];
    $replace = array (
          '–' => "-",
          '„' => '"',
          '“' => '"');    
    $text=strtr($text,$replace);            
    $text=strip_tags($text);
}
Strip Tags funktioniert aber leider nicht, brauche ich aber um die Links zu entfernen.
Liegt es wirklich an den Zeichen? Hab auch schon htmlspecialchars und
htmlenties ausprobiert. Bringt aber garnichts!
Jemand ne idee?

mfg

Sebastian
 
Ich würde sagen, du brauchst [phpf]htmlspecialchars_decode[/phpf] und danach erst [phpf]strip_tags[/phpf].
 
PHP:
<?php

if ( !function_exists('htmlspecialchars_decode') )
{
    function htmlspecialchars_decode($text)
    {
        return strtr($text, array_flip(get_html_translation_table(HTML_SPECIALCHARS)));
    }
}

?>

Ist das erste Kommentar von der Funktionsseite.
 
Zurück