Bearbeiten von „FreewarWiki:Bot/Skripts/rss feed.php

Zur Navigation springen Zur Suche springen

Achtung

Du bearbeitest diese Seite unangemeldet. Wenn du deine Änderung speicherst, wird deine aktuelle IP-Adresse in der Versionsgeschichte aufgezeichnet und ist damit öffentlich einsehbar. Um effektiver mitarbeiten zu können und deine IP-Adresse zu verbergen, melde dich doch bitte an.

Speichere bitte keine Textversuche ab. Nutze stattdessen die Spielwiese, um dich im Umgang mit der Textverarbeitung im Wiki vertraut zu machen.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 4: Zeile 4:
function feed($page_cache, $last_timestamp = 0) {
function feed($page_cache, $last_timestamp = 0) {
$feed = file_get_contents("http://forum.freewar.de/feed.php?mode=news"); //lade RSS-Feed
$feed = file_get_contents("http://forum.freewar.de/feed.php?mode=news"); //lade RSS-Feed
$feed = trim(preg_replace('/\s+/', ' ', $feed)); //entferne alle neuen Zeilen
$feed = trim(preg_replace('/\s+/', ' ', $feed)); //entferne alle neuen Zeilen
Zeile 22: Zeile 21:
//setze alle bekannten Artikel aus dem Artikel-Cache $page_cache ein;
//setze alle bekannten Artikel aus dem Artikel-Cache $page_cache ein;
//$page_cache wird mittels AllPagesBot.php generiert;
//$page_cache wird mittels AllPagesBot.php generiert;
//es werden nur Wörter betrachtet, die mindestens 4 Zeichen lang sind
//es werden nur solche Wörter betrachtet, die mehr als 3 Zeichen haben;
foreach($page_cache as $cache) {
if(strlen($cache) < 4)
continue;
$desc = preg_replace("#\[\[.+?]](*SKIP)(*FAIL)|$cache#", "[[$cache]]", $desc);
}
//trenne Wörter von Satzzeichen
//trenne Wörter von Satzzeichen
$explosion = str_replace(",", " , ",  str_replace(".", " . ",  str_replace("!", " ! ",  str_replace("?", " ? ", $desc))));
$explosion = explode (" ", str_replace(",", " , ",  str_replace(".", " . ",  str_replace("!", " ! ",  str_replace("?", " ? ", $desc)))));
 
for($e = 0; $e < count($explosion); $e++) {
//füge Satzzeichen wieder hinzu und Wörter zusammen
$token = $explosion[$e];
$desc = str_replace(" , ", ", ",  str_replace(" . ", ". ",  str_replace(" ! ", "! ",  str_replace(" ? ", "? ", $desc))));
$flag = false;
if(substr($token, -1) === ":") { //Überprüfung ob mehrteiliger Name
$token .= " ".$explosion[$e+1];
$flag = true;
}
if(strlen($token) > 3 && in_array($token, $page_cache)) {
$token = "[[" . $token . "]]";
} elseif(strlen($token) > 3 && in_array(substr($token, 0, -1), $page_cache)) {
//entferne Satzzeichen, Plural "s" und sonstige einzelne Zeichen, die einen Artikel unauffindbar machen würden;
$token = "[[" . substr($token, 0, -1) . "]]" . substr($token, -1);
}
$explosion[$e] = $token;
if($flag) {
$e++;
$explosion[$e] = "";
}
}
                //füge Satzzeichen wieder hinzu und Wörter zusammen
$desc = str_replace(" , ", ", ",  str_replace(" . ", ". ",  str_replace(" ! ", "! ",  str_replace(" ? ", "? ", implode(" ", $explosion)))));
$title = preg_replace("#(\[.*?\])#", "", $data[3][$i]); //entferne [W1*]-Markierung
$title = preg_replace("#(\[.*?\])#", "", $data[3][$i]); //entferne [W1*]-Markierung

Bitte beachte, dass alle Beiträge zu FreewarWiki von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können. Reiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.

Du bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast (weitere Einzelheiten unter FreewarWiki:Urheberrechte). ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)