PHP如何原样输出XML样式的Sitemap数据

overme6个月前 (10-17)网页设计1129
网站运营过程中,将网站的资源以Sitemap的形式提交给搜索引擎是非常必要的。本文分享通过php代码获取Discuz系统中未加入Sitemap的链接,然后在HTML原样输出XML样式的Sitemap结构数据。

效果如下图所示:

实现方法:

  1. header(“Content-Type: text/html; charset=utf-8”);
  2.         //引用discuz配置文件
  3.         require(‘./config/config_global.php’);
  4.         require(‘./source/class/class_core.php’);
  5.         $discuz = & discuz_core::instance();//以下代码为创建及初始化对象
  6.         $discuz->cachelist = $cachelist;
  7.         $discuz->init();//以上是调用discuz公共执行类等核心代码
  8.         global $_G;
  9.         $query =DB::query(“SELECT tid FROM “.DB::table(‘forum_thread’).” where displayorder >= 0 and tid >= 876″);
  10.         //开始输出
  11.         if(empty($query))
  12.         {
  13.                 echo “没有新链接”;
  14.         }
  15.         else
  16.         {      
  17.                 while($row = DB::fetch($query)) {
  18.                    echo htmlentities(‘<url>’,ENT_QUOTES,”UTF-8″);
  19.                    echo “<br/>”;
  20.                    echo htmlentities(‘<loc><![CDATA[https://www.5izixue.com/thread-596-1-1.html]]></loc>’,ENT_QUOTES,”UTF-8″);
  21.                    echo “<br/>”;
  22.                    echo htmlentities(‘<lastmod>2022-08-16</lastmod>’,ENT_QUOTES,”UTF-8″);
  23.                    echo “<br/>”;
  24.                    echo htmlentities(‘<changefreq>weekly</changefreq>’,ENT_QUOTES,”UTF-8″);
  25.                    echo “<br/>”;
  26.                    echo htmlentities(‘</url>’,ENT_QUOTES,”UTF-8″);
  27.                    echo “<br/>”;
  28.                 }
  29.         }

复制代码

$query =DB::query(“SELECT tid FROM “.DB::table(‘forum_thread’).” where displayorder >= 0 and tid >= 876″);

displayorder >=0,代表帖子时审核通过的,不是删除了的垃圾帖子。

tid >=876是需要生成Sitemap的起始帖子,根据自身需求修改。

echo htmlentities(‘<loc><![CDATA[https://www.5izixue.com/thread-596-1-1.html]]></loc>’,ENT_QUOTES,”UTF-8″);

htmlentities是一个PHP中字符串与HTML之间的相互转换的函数,可以将包含URL链接的字符串内容原样输出到html页面中。

相关文章

PHP unlink函数删除文件的方法

使用Discuz系统建站时,如果想要对精华主题封面图片进行裁剪,生成新图片。那么取消精华设置时,就需要删除之前裁剪的图片,这样能减少服务器不必要的存储。 小编在我爱自学移动端开发时,就遇到了这样的...

PHP判断是否包含指定字符串的方法

1、strstr 函数查找指定字符串在目标字符串中首次出现的位置,该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回false。 语法:strstr(string,searc...

PHP结合阿里云SMS功能实现短信发送

阿里云有SMS短信发送功能,申请服务和接口就行了,会收取一定的费用。 点击访问 阿里云SMS短信服务平台 以下是基于阿里云SMS的短信发送PHP API代码 <?php /* *...

网站开发中常用的PHP代码

PHP批最取得checkbox的值 1、命名 代码如下: <input type=’checkbox’ name=’checkbox[]‘ value=$dwmyrow[banzhu] /...

htmlentities函数的作用及使用方法

htmlentities函数的作用? htmlentities用于将字符串转换为 HTML 转义字符,说的更加通俗一点,就是能让字符串按原有样式输出到html中。 htmlentities函数使...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。