Kategorien
Bearbeiten von „FreewarWiki:Bot/Skripts/rss feed.php“
Zur Navigation springen
Zur Suche springen
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 | //es werden nur solche Wörter betrachtet, die mehr als 3 Zeichen haben; | ||
//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(" ? ", "? ", $ | $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 |