Text aus .txt einlesen, kürzen und link auf komplette Version

latitude

Mitglied
Hallo,

einen kleine Frage:

Ich möchte auf meiner HP eine Newsbox einrichten. Diese soll per Zufallsgenerator den Inhalt von .txt Dateien auslesen. Es sollen jedoch nur die ersten hundert Zeichen angezeigt werden, Wörter sollen natürlich nicht abgschnitten werden. Zudem soll entsprechend der ausgewählten .txt der Link zur vollständigen Version aufgeführt werden. Im Prinzip wie eine Art Artikelliste.

Wie würdet Ihr dies lösen?

Thanks. latitude
 
Wie meinst du das mit dem zufälligen Auslesen? Soll aus einer einzigen Datei zufällig irgend ein String ausgelesen werden oder zufällig eine von mehreren Dateien?
 
random:
rand(0,100) ?

100 zeichen:
ein beispiel:
PHP:
function cutstr($str,$max) {
  $maxstr = $max - 3;
  $strl = strlen($str);
  if ($strl > $maxstr) {
    for ($i = 0; $i <= $maxstr; $i++) $nstr.= $str[$i];
    $nstr.= "...";
    $str = $nstr; 
  }
  return $str;
}
anwendung:
PHP:
$fooooo = cutstr("blalsadflanlnflsafnlkjasnflasnfkjasnkjnafkasn....120zeichenindemstring",100);
 
Um einen String nach ungefaehr einer gewissen Anzahl Zeichen abschneiden zu lassen habe ich mal die Funktion cutatspace() geschrieben. Dabei wird nach am naechsten Leerzeichen nach dem Zeichenlimit abgeschnitten.
Wenn Du also als Zeichenlimit 90 angibst solltest Du statistisch gesehen nur selten ueber die 100 Zeichen hinausschiessen.
PHP:
function cutatspace($splittext, $splitlength)
{
	if (strlen($splittext)>$splitlength)
		{
			$splitpart=$splittext;
			$counter=0;
			while (strlen($splitpart)>$splitlength)
				{
					$spacepos=strpos($splitpart," ",$splitlength);
					if ($spacepos===false)
						{
							$spacepos=strlen($splitpart);
						}
					$part1=substr($splitpart,0,$spacepos);
					$splitpart=substr($splitpart,$spacepos+1,strlen($splittext)-($spacepos+1));
					$parts[$counter]=$part1;
					$counter++;
				}
			$parts[$counter]=$splitpart;
		}
	else
		{
			$parts[0]=$splittext; 
		}
	return $parts;
}
 
Zurück