我有一个RSS源,由于某种原因没有显示我的PHP变量。当返回Feed时,它返回原始标签,例如标题将是Timetable $ todayd而不是Timetable - 4月10日星期二
<?PHP
include("../config.php");
#// Timetable Clearup Variabls
$yesterday = strtotime('yesterday');
$yesterdow = date('l',$yesterday);
$order = "SELECT * FROM timetable WHERE day = '$yesterdow' ORDER BY time";
$result = mysql_query($order);
$yesterdayd = date('F jS, Y', time()-86400);
//SET XML HEADER
header('Content-type: text/xml');
//CONSTRUCT RSS FEED HEADERS
$output = '<rss version="2.0">';
$output .= '<channel>';
$output .= '<title>Timetable - $yesterdayd </title>';
$output .= '<description>Timetable.</description>';
$output .= '<link>http://site.com/</link>';
### $output .= '<copyright>Your copyright details</copyright>';
//BODY OF RSS FEED
$output .= '<item>';
$output .= '<title>Timetable for $yesterdayd</title>';
$output .= '<description>" . htmlspecialchars($row['username']) . "</td><td>" . htmlspecialchars($row['time']) . "</description>';
$output .= '<link>Link to Item</link>';
$output .= '<pubDate>Date Published</pubDate>';
$output .= '</item> ';
//CLOSE RSS FEED
$output .= '</channel>';
$output .= '</rss>';
//SEND COMPLETE RSS FEED TO BROWSER
echo($output);
?>
有什么想法吗?
答案 0 :(得分:2)
对输出字符串使用双引号。我认为变量不会用单引号进行插值。
所以喜欢
$output .= "<title>Timetable for $yesterdayd</title>";
应该这样做。该页面有一个php扩展,对吗?
编辑:
当你插入数组或对象时,使用类似{$ row ['username']}或{$ object-&gt; property}的语法,但是当你调用一个函数时,你不能插值,你必须级联:
"<description>" . htmlspecialchars($row['username']) . "</td>";
另外,请确保您现在没有混合单引号和双引号 - 看起来您粘贴的代码作为响应混合了它们。
答案 1 :(得分:0)
单引号字符串不会计算php变量。
即。
'<title>Timetable - $yesterdayd </title>';
应该是
"<title>Timetable - {$yesterdayd} </title>";