La posición del insert es incorrecta para las variables que estás tomando, prueba esto:
Código PHP:
<?php
include('cnx.php'); // parametros de conexión a BD
$rssUrl = 'http://www.forosdelweb.com/external.php?type=RSS2&forumids=4';
$documento = new DOMDocument();
$documento->load($rssUrl);
$arrayRss = array();
foreach ($documento->getElementsByTagName('item') as $nodo) {
$itemRSS = array (
'title' => $nodo->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $nodo->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $nodo->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $nodo->getElementsByTagName('pubDate')->item(0)->nodeValue
);
array_push($arrayRss, $itemRSS);
//echo "<pre>";
//print_r($arrayRss);
//echo "</pre>";
foreach($arrayRss as $arrayItem)
{
$title = $arrayItem['title'];
$desc = $arrayItem['desc'];
$link = $arrayItem['link'];
$date = $arrayItem['date'];
$sql="INSERT INTO rss (title,description,link,pubdate) VALUES ('$title','$desc','$link','$date')";
if (!mysql_query($sql,$conec_bd))die('Error: ' . mysql_error());
}
// la salida en pantalla muestra todos los registros
// por lo que el foreach me esta recorriendo perfectamente los items
// del Rss
echo "<p><span class='tit'>$title</span> - <a href='$link'>detalles</a></p><p>Descripción:<br />$desc<br /><br />$date</p><hr />";
// sin embargo esto solo me hace el insert del último item
}
mysql_close($conec_bd);
?>
saludos