为RSS Feed制作slug

时间:2013-03-12 08:29:24

标签: php rss slug

我想创建RSS帖子的链接,但我需要一个'slug'。我想用“ - ”替换空格,所以我可以将链接重定向到我的wordpress网站上的帖子。我的RSS:

<?php

include("connect.inc.php");

$items = mysql_query("select * from dailynewsitems where actief = '1' and pubDate <=      NOW() order by id DESC limit 15");

echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>
<rss version=\"2.0\"  xmlns:atom=\"http://www.w3.org/2005/Atom\">
<channel>
<title>Nieuwsfeed WebGiants Financieel</title>
<description>Nieuwsfeed WebGiants</description>
<link>http://modules.publiceer.net/nieuwsfeed_webgiants2012.php</link>
<language>nl</language>";

while ($item = mysql_fetch_object($items)) {
    $id = $item->id;
    $title = $item->title;
    $description = $item->description;
    $longdesc = $item->longdesc;

    list($d, $m, $y) = explode("-", $item->pubDate); 

    echo '<item>'; 
    echo '<guid>' . $item->id . '</guid>';
    echo '<title>' . htmlspecialchars($title) . '</title>';
    echo 'DATUM<pubDate>' . date("D", mktime(0, 0, 0, $m, $d, $y)) . ', ' . $d . ' ' . date("M", strtotime($item->pubDate)) . ' ' . $y . ' 00:00:00 CST</pubDate>';
    echo '<description>' . htmlspecialchars($description) . '</description>';
    echo '<longdesc>' . htmlspecialchars($longdesc) . '</longdesc>';
    echo "<link>http://www.webgiants.nl/geen-categorie/".$item->title."</link>";
    echo '</item>'; 
} 


echo "</channel>";
echo "</rss>";

我做了一些研究,知道你可以用这样的东西做:$ title = preg_replace(“/ [\ s - ] + /”,“ - ”,$ title);

所以我想用' - '来代替空格来创建一个标题。

但我不知道如何在我的代码中实现它。

提前致谢!

2 个答案:

答案 0 :(得分:0)

只需使用str_replace函数。 http://php.net/manual/en/function.str-replace.php

echo "<link>http://www.webgiants.nl/geen-categorie/".str_replace(" ", "-", $item->title)."</link>";

答案 1 :(得分:0)

我首先将mysql函数更改为mysqli函数,因为不推荐使用mysql!