[SCRIPT]Afisare ultimele subiecte de pe forum
Pagina 1 din 1
[SCRIPT]Afisare ultimele subiecte de pe forum
Acest script poate sa afiseze in oricare pagina din site, generata cu PHP, ultimile subiecte de pe un Forum, subiecte pe care le preia din pagina XML (Atom 1.0) generasta de forumul respectiv, PHPBB sau MyBB.
Acel forum trebuie sa aibe functionala si activata aplicatia de generare a paginilor XML pentru fluxurile Atom /RSS.
Scriptul preia datele din pagina XML de la adresa mentionata in el (la variabila $file_xml) si le parseaza (parcurge) retinand de la fiecare subiect: titlul, data, adresa URL si o parte din continutul subiectului.
Numarul de subiecte returnate si numarul de cuvinte retinut din fiecare continut pot fi usor modificate in codul php.
Acest script e facut sa functioneze pentru forumurile PHPBB sau MyBB care genereaza fluxuri Atom ca sa fie citite de surse externe, dar poate fi relativ usor modificat ca sa afiseze datele din fluxuri RSS 2.0 sau alte forumuri cu modul de generare pagini .xml. Trebuie doar modficate numele tagurilor din variabila Array "$tags_xml" comform cu cele folosite in pagina .xml citita.
Scriptul este acesta:
Voi trebuie doar sa modificati linkul din linia:
cu linkul paginii dvs.
Acel forum trebuie sa aibe functionala si activata aplicatia de generare a paginilor XML pentru fluxurile Atom /RSS.
Scriptul preia datele din pagina XML de la adresa mentionata in el (la variabila $file_xml) si le parseaza (parcurge) retinand de la fiecare subiect: titlul, data, adresa URL si o parte din continutul subiectului.
Numarul de subiecte returnate si numarul de cuvinte retinut din fiecare continut pot fi usor modificate in codul php.
Acest script e facut sa functioneze pentru forumurile PHPBB sau MyBB care genereaza fluxuri Atom ca sa fie citite de surse externe, dar poate fi relativ usor modificat ca sa afiseze datele din fluxuri RSS 2.0 sau alte forumuri cu modul de generare pagini .xml. Trebuie doar modficate numele tagurilor din variabila Array "$tags_xml" comform cu cele folosite in pagina .xml citita.
Scriptul este acesta:
- Cod:
<?
// Script preluare ultimile subiecte de pe forum (PHPBB 3.0.7+ si MyBB 1.4) din fisirere XML [Atom 1.0]
$file_xml = 'http://wouanzone.forumz.ro'; // Aici se modifica cu adresa paginii de flux a forumului
$nr_subj = 10; // Numarul maxim de subiecte afisate
$nr_cuv = 21; // Numarul maxim de cuvinte afisate din continutul fiecarui subiect
// Matrice cu numele tag-urilor ce trebuie preluate din XML
$tags_xml = array('baza'=>'entry', 'titlu'=>'title', 'url'=>'id', 'content'=>'content', 'data'=>'updated');
// Functia preia si parseaza datele din fisierul XML
// Returneaza un cod HTML cu ultimile subiecte
function get_last_forum($file_xml) {
GLOBAL $nr_subj, $nr_cuv, $tags_xml;
$re_html = '<h3>Ultimile subiecte pe Forum</h3><ol>'; // Variabila cu codul HTML ce va fi returnat
$obj = simplexml_load_file($file_xml); // Initializeaza obiectul SimpleXML
$baza = $obj->$tags_xml['baza']; // Preia toate elementele cu nume "entry" (intr-o variabila tip array)
$nr_subj = min($nr_subj, count($baza)); // Defineste nr. subiecte parcurse
// Parcurge matricea $baza si preia elementele cu tag-urile necesare
for($i=0; $i<$nr_subj; $i++) {
$titlu = $baza[$i]->$tags_xml['titlu']; // Preia titlu
$url = $baza[$i]->$tags_xml['url']; // Preia adresa
$content = strip_tags($baza[$i]->$tags_xml['content']); // Preia continutul (fara tag-uri)
$data = $baza[$i]->$tags_xml['data']; // Preia data
/* Se fac prelucrarile necesare */
$url = str_replace('&', '&', $url); // Pt. a fi valid xhtml
// Preia nr. de cuvinte specificat
$ar_cuv = str_word_count($content, 2);
$nr_cuv = min($nr_cuv, count($ar_cuv));
$ar_cuv = array_slice($ar_cuv, 0, $nr_cuv);
$content = implode(' ', $ar_cuv). ' ...';
// Aranjeaza data
$ar_data = date_parse($data); // Transforma formatul datei transmis intr-un Array parti ale datei
$data = $ar_data['day'].'-'.$ar_data['month'].'-'.$ar_data['year']; // Defineste formatul de data dorit
$re_html .= '<li><a href="'. $url. '" title="'. $titlu. '">'. $titlu. '</a> <sup>('. $data. ')</sup><br /> '. $content. '</li>';
}
return $re_html. '</ol>';
}
echo get_last_forum($file_xml); // Afiseaza rezultatul functiei
?>
Voi trebuie doar sa modificati linkul din linia:
- Cod:
$file_xml = 'http://w******ne.forumz.ro';
cu linkul paginii dvs.
Pagina 1 din 1
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum
|
|