我正在使用PHP创建XML RSS提要以从数据库中提取数据。因此,我的XML包含在php中。我想在<description>
:
echo '<item>';
echo '<title>' . $product_name . '</title>';
echo ' <link>http://www.....com</link>';
echo '<description>' . $product_line . ' ' . $product_scale . ' ' . $product_vendor . ' ' . $product_description . ' $' . $buy_price . '</description>';
echo '</item>';
我尝试在<br >
标记中的每个变量之后添加"<br />"
和<description>
,但这样可以防止任何XML / RSS数据在页面上运行。
我知道我可以添加<xml>
标签,但这里的格式不同,因为XML是在PHP中回显的。有没有办法在PHP echo
中包含的XML中添加换行符?
如果需要,这是整个脚本:
<?php header('Content-Type: text/xml'); ?>
<?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Classic Cars RSS</title>
<atom:link href="http://<?= $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'] ?>" rel ="self" type="application/rss+xml" />
<description>Classic Cars RSS Feed for learning PHP</description>
<lastBuildDate><?= $builddate ?></lastBuildDate>
<language>en-us</language>
<?php
define('DB_LOCATION', 'x');
define('DB_USERNAME', 'x');
define('DB_PASS', 'x');
define('DB_NAME', 'x');
$dbc = mysqli_connect(DB_LOCATION, DB_USERNAME, DB_PASS, DB_NAME)
or die('Error connecting to database');
$query = "SELECT productName, productLine, productScale, productVendor, productDescription, buyPrice FROM products WHERE `productLine` = 'Vintage Cars' OR `productLine` = 'Trains'";
$result = mysqli_query($dbc, $query)
or die('Error querying request');
while ($row = mysqli_fetch_array($result)) {
$product_name = $row['productName'];
$product_line = $row['productLine'];
$product_scale = $row['productScale'];
$product_vendor = $row['productVendor'];
$product_description = $row['productDescription'];
$buy_price = $row['buyPrice'];
echo '<item>';
echo '<title>' . $product_name . '</title>';
echo ' <link>http://www.test.ishabagha.com</link>';
echo '<description>' . $product_line . ' ' . $product_scale . ' ' . $product_vendor . ' ' . $product_description . ' $' . $buy_price . '</description>';
echo '</item>';
}
?>
</channel>
</rss>
答案 0 :(得分:0)
您可以使用带换行符的单个回音:
echo 'line1
line2';
或者使用\ n
echo "line1\nline2"; //you need doublequotes when using \n
答案 1 :(得分:0)
您可以使用
echo "\n";
每当你想要一条新线时。