你好我有一个网站和一个博客,我想在我的网站上显示我自己托管的wordpress博客.
如何做到这一点,我听说它可以通过RSS完成.有人能帮助我吗?
要完成此任务,您需要阅读博客的RSS,从RSS中读取标题和描述,阅读完整的描述和标题后,您需要将描述修剪为所需的字母数.在那之后你需要检查天气描述最后一个单词是否已经完成,然后你需要删除最后一个单词,如果没有完成并放上"...".
首先,我们将制作一个脚本来修剪描述并将"......"放在最后: -
<?php
global $text, $maxchar, $end;
function substrwords($text, $maxchar, $end='...') {
if (strlen($text) > $maxchar || $text == '') {
$words = preg_split('/\s/', $text);
$output = '';
$i = 0;
while (1) {
$length = strlen($output)+strlen($words[$i]);
if ($length > $maxchar) {
break;
}
else {
$output .= " " . $words[$i];
++$i;
}
}
$output .= $end;
}
else {
$output = $text;
}
return $output;
}
Run Code Online (Sandbox Code Playgroud)
现在我们将定义存储值的变量: -
$xml=("http://your-blog-path/rss/");
global $item_title, $item_link, $item_description;
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);
$x=$xmlDoc->getElementsByTagName('item');
Run Code Online (Sandbox Code Playgroud)
现在,我们将在其中创建一个数组并存储值.我只拿3分,因为你问路了.您可以将其更改为任何内容(要显示的帖子数,将其放入循环中)
for ($i=0; $i<3; $i++)
{
$item_title[$i] = $x->item($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;
$item_link[$i] = $x->item($i)->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue;
$item_description[$i] = $x->item($i)->getElementsByTagName('description')->item(0)->childNodes->item(0)->nodeValue;
}
?>
Run Code Online (Sandbox Code Playgroud)
现在回显所有这些值,Link是您的用户点击的值,他将被带到您的博客: -
第一次发布的帖子:
<a href="<?php echo $item_link[0]; ?>"><?php echo $item_title[0]; ?></a>
<?php echo substrwords($item_description[0],70); ?>
Run Code Online (Sandbox Code Playgroud)
第二次近期发布:
<a href="<?php echo $item_link[1]; ?>"><?php echo $item_title[1]; ?></a>
<?php echo substrwords($item_description[1],70); ?>
Run Code Online (Sandbox Code Playgroud)
第三次发布:
<a href="<?php echo $item_link[2]; ?>"><?php echo $item_title[2]; ?></a>
<?php echo substrwords($item_description[2],70); ?>
Run Code Online (Sandbox Code Playgroud)
希望这可以解决您的问题.顺便问一下尼斯的问题.
| 归档时间: |
|
| 查看次数: |
15017 次 |
| 最近记录: |