This php script can be used to get and display latest subjects from PHPBB and MyBB forum.
The script reads the topics from the RSS Atom Feed generated by the PHPBB and MyBB forums, so the forum must have activated the aplication that generates the Atom /RSS feed.
This script gets and shows the link, title, content and date of the latest topics from the XML page from the URL address of the RSS feed (specified in the $file_xml variable).
- For MyBB use the Atom 1.0 feed.
You can set the number of subjects you want to display, and the maximum number of words from content.

• To Download the script, click this link: Download - Show latest forum topics (3 KB).
 
- The script is Free, without assistance. Anyway, if you have qustions you can post on: CoursesWeb.net/forum/
The script was tested with PHPBB 3.2.2 and MyBB 1.8.15 forums.

Usage

  1. Copy the code below into a php file, named "s_forum.php" (or download the script from the link above).
  2. Replace the value of the "$file_xml" variable with the URL address of the RSS feed of your forum.
  3. Copy the "s_forum.php" file on your serverul, where you have the php file in which you want to include the script.
  4. Add the following code in the php file where you want to display the latest forum topics:
    <?php include 's_forum.php'; ?>

Code of the script

<?php
// Script to show latest subjects on forum (tested with PHPBB 3.2)
// From: https://coursesweb.net/php-mysql

//HERE add the URL of the RSS feed of your phpbb forum
$file_xml ='https://coursesweb.net/forum/app.php/feed/news';

// $file_xml ='https://community.mybb.com/syndication.php?type=atom1.0'; //to test MyBB (uses atom 1.0 URL)

$nr_subj =11; //Set nr. subjects to display
$nr_cuv =23; //Set maximum number of words from content to display

//tag names to read from XML
$tags_xml = array('baza'=>'entry', 'titlu'=>'title', 'url'=>'id', 'content'=>'content', 'data'=>'updated');

//gets and parses the XML file
//returns HTML code with latest subjects
function get_last_forum($file_xml) {
 GLOBAL $nr_subj, $nr_cuv, $tags_xml;
 $re ='';

 //get page data with cUrl
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $file_xml);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6');
 $pg_dat = curl_exec($ch);

 if(!curl_errno($ch) && is_string($pg_dat) && strlen($pg_dat)>11 && ($obj = @simplexml_load_string($pg_dat, null, LIBXML_NOCDATA))){
 $pg_dat ='';
 $baza = $obj->{$tags_xml['baza']};
 $nr_subj = min($nr_subj, count($baza));

 for($i=0; $i<$nr_subj; $i++){
 $titlu = $baza[$i]->{$tags_xml['titlu']};
 $url = str_ireplace(['http://'. $_SERVER['SERVER_NAME'] .'/', '&'], ['', '&amp;'], $baza[$i]->{$tags_xml['url']});
 $content =strip_tags(preg_replace('#\<p\>(.*?)\</p\>#i', '', $baza[$i]->{$tags_xml['content']})); //delete <p> content and tags

 //gets and formats subjects date
 $data = $baza[$i]->{$tags_xml['data']}; 
 $data = date_parse($data);
 $data = $data['day'].'-'.$data['month'].'-'.$data['year'];

 //keep specified nr. words
 if(preg_match('/([^ ]*[ ]{0,1}){1,'.$nr_cuv.'}/i', $content, $m)) $content = $m[0] .' ..';

 $link ='<a href="'. $url. '" title="'. $titlu .'">'. $titlu. '</a> <sup>'. $data.'</sup>';
 $re .='<li>'. $link.'<div>'. $content.'</li>';
 }
 if($re !='') $re ='<ol>'.$re.'</ol>';
 }

 return $re;
}

echo get_last_forum($file_xml); //outputs the result

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which tag is used to add lists into <ul> and <ol> elements?
<dt> <dd> <li>
<ul>
 <li>http://coursesweb.net/html/</li>
 <li>http://coursesweb.net/css/</li>
</ul>
Which value of the "display" property creates a block box for the content and ads a bullet marker?
block list-item inline-block
.some_class {
  display: list-item;
}
Which instruction converts a JavaScript object into a JSON string.
JSON.parse() JSON.stringify eval()
var obj = {
 "courses": ["php", "javascript", "ajax"]
};
var jsonstr = JSON.stringify(obj);
alert(jsonstr);    // {"courses":["php","javascript","ajax"]}
Indicate the PHP class used to work with HTML and XML content in PHP.
stdClass PDO DOMDocument
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>';
$dochtml = new DOMDocument();
$dochtml->loadHTML($strhtml);
$elm = $dochtml->getElementById("dv1");
echo $elm->nodeValue;    // CoursesWeb.net
Show latest topics from PHPBB, MyBB forum - Php Script

Last accessed pages

  1. array_map and array_search in JavaScript (1395)
  2. Working with HTML attributes in PHP (6701)
  3. XML data from ActionScript to a PHP script (1104)
  4. html2canvas - Save page screenshoot on server (1224)
  5. Laravel Middleware (136)

Popular pages this month

  1. Making DIV Contents Scroll Horizontally, with multiple Div`s inside (1976)
  2. Contact page - CoursesWeb (1924)
  3. Tabs effect with CSS (1924)
  4. Insert, Select and Update NULL value in MySQL (1228)
  5. PHP getElementById and getElementsByTagName (723)