生成RSS源报价标记问题


Generating RSS Feed Quote Marks Issue

我正在从表中提取数据以生成itunes提要。

类别标签的格式为:

<itunes:category text="Games &amp; Hobbies">
</itunes:category>

我从表中的一个字段中获取这个值,即类别。

此:

<itunes:category text=".$data['category']."</itunes:category>

输出:

<itunes:category text=Games &amp; Hobbies</itunes:category>
</itunes:category>

代替:

<itunes:category text="Games &amp; Hobbies">
</itunes:category>

它缺少类别周围的语音标记。我试过各种各样的括号组合,但总是出现语法错误。

完整脚本如下:

<?php
  include("authenticate.php");
  $user = $_SESSION['UserName'];
  $initialdata = $result = mysql_query("SELECT * FROM ccregisterfeed WHERE username = '$user'");
  $initdata = mysql_fetch_assoc($initialdata);
  $result = mysql_query("SELECT * FROM ccshowcontent JOIN ccaudio ON ccshowcontent.id = ccaudio.id WHERE ccshowcontent.username = '$user' ORDER BY ccshowcontent.id DESC")
or die(mysql_error());
while($row = mysql_fetch_assoc($result)){
     $items[] = $row;
}
function createXML($items,$data){
    $xml = "<?xml version='1.0' encoding='UTF-8'?>
<rss xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd" version="2.0">
<channel>
<title>".$data['feedtitle']."</title>
<link>".$data['websitelink']."</link>
<language>en-GB</language>
<copyright>".$data['copyright']."</copyright>
<itunes:subtitle>".$data['subtitle']."</itunes:subtitle>
<itunes:author>".$data['author']."</itunes:author>
<description>".$data['feeddescription']."</description>
<itunes:image href=".$data['imagelink']."/>
<itunes:category text=".$data['category']."</itunes:category>
<title>".$data['feedtitle']."</title>
<link>".$data['websitelink']."</link>
<category text=>".$data['category']."</category>
<pubDate>".date("D, d M Y H:i:s O", strtotime($data['pubdate']))."</pubDate>
<language>en-us</language>
<image>
<title>".$data['feedtitle']."</title>
<link>".$data['websitelink']."</link>
<url>".$data['imagelink']."</url>
<description>".$data['imagetitle']."</description>
</image>";
$audiodir = "http://thetradingcardgenerator.com/MP3/";
foreach($items as $key => $item){
    $path = $audiodir.$item['path'];
    $pdate = strtotime($item['pubdate']);
    $date = date("D, d M Y H:i:s O", $pdate);
    $xml .="
<item>
<title>".$item['title']."</title>
<description>".$item['description']."></description>
<guid>".$path."</guid>
<pubDate>".$date."</pubDate>
<itunes:duration>".$data['imagelink']."</itunes:duration>
</item>";
}
$xml .="
</channel>
</rss>";
return $xml;
}
$rss = createXML($items,$initdata);
//echo "feed updated!";
$filename = "itunes" . strtolower(str_ireplace(" ", "", $initdata['feedtitle']) . ".xml");
file_put_contents($filename,$rss);
header("Location: ccupload.php?message=".urlencode("Content Added <br/> Feed Updated"));
// var_dump ($filename);
?>

看起来您只是缺少了一些引号和一个右括号:

"...<itunes:category text='"".$data['category']."'"></itunes:category>..."
                          ^^                     ^^^                    

如果在修复后仍然出现语法错误,请使用确切的错误消息更新您的问题。