Ausgabe begrenzen aber wie ?

Xsdojo

Grünschnabel
Ich möchte euch kurz mein Problem schildern ich habe ein News system Geschrieben das funktioniert soweit auch einwandfrei :-). Jetzt möchte ich aber einige Specials. Kann mir einer erklären wie man das macht das wenn ich einen Newstext immer soweit begrenzen kann wie da wo ich den z.B. <more> code beim hinsetze und alles was dahinter ist dann auf einen more Link kliken kann das dann erst seperat alles angezeit wird also z.b.


Eingabe:


Hallo das sind News in den wolken gibt es Lücken<more> aber es wird heiter.



Ausgabe dann:

Hallo das sind News in den wolken gibt es Lücken more..


Ausgabe wenn man auf den more link drückt:

Hallo das sind News in den wolken gibt es Lücken aber es wird heiter.






Danke schonmal für jede hilfe schonmal im Foraus ich rätsle jetzt schon ewig rum und hab mich hier auch schon ausgibig auf die suche gemacht abe rnoch nix gefunden was sich mit diesem Problem beschäftigt und ich frag hier nur wenn ich wirklch nix finde :(.
 
Hallo!

Du findest nichts, was sich mit dem Problem beschäftigt?
Na, wie wär's mit dir selbst?!
Bevor man sich auf die Suche macht, sollte man doch erstmal selbst ein wenig experimentieren!
Das Problem ist doch garnicht so schwer!
Also, wenn du ein Newssystem hinbekommen hast, dann sollte das normalerweise kein Problem sein! :p

Du fragst doch sicher, um an die News zu kommen eine MySQL-Datenbank ab.
Wahrscheinlich hast du auch eine while-Schleife dafür.
In dieser kannst du doch z. B. folgendes schreiben:

PHP:
$Query = mysql_query ("SELECT id, title, text FROM news");

while ($Row = mysql_fetch_assoc($Query)
{
if (strlen($Row['text'] > 100) $NewsText = substr($Row['text'], 0, 100)."<a href='news_more.php?newsid=$Row[id]'>more</a>";

//weiterer PHP-Code
}

Dabei wird automatisch der Text der News auf 100 Zeichen gekürzt, wenn dieser länger als selbige Anzahl ist und anschließend wird noch der Link angehangen.

War das jetzt wirklich sooo schwer?! :rolleyes: ;)
 
hab mir das eben mal angeschaut so hab ichs schon gemacht das ist nur eine zeichenbegrenzung *g* ich will aber das es da begrenzt wo ich more einsetze



Aber danke für deine hilfe
 
Also das die Zeichenzahl nicht vorgegeben ist wie bei deinem beispiel jetzt 100 Zeichen sondern das der Text erst dort begrenz wird wo ich beim Posten wie bei einem BBcode z.B. <more> eingebe und das dort dann ein link erscheint mehr und wenn mann da draufklikt dass man weiterlesen kann also dass des mir halt da den text begrenz wo <more> steht.
 
Naja, ein simples Beispiel könnte so aussehen:

PHP:
$Query = mysql_query ("SELECT id, title, text FROM news"); 

while ($Row = mysql_fetch_assoc($Query) 
{ 

preg_replace ("=\\[more\\]$=i", "...<a href='news_more.php?newsid=$Row[id]'>more</a>", $Row['text']);

//weiterer PHP-Code 
}

Dabei hab' ich extra einen Regulären Ausdruck (und nicht z. B. str_replace) genommen, damit nur das [mor] am Ende ersetzt wird und nicht aus versehen eines, das irgendwo im Text steht.
 
Zuletzt bearbeitet:
Naja ganz war des nicht der code wo ich gebraucht habe aber ich habs jetzt :-) und hier nochmal für die nachwelt *g*
PHP:
  $cutposition = strpos($news,"<more>");
       $news = substr($news,0,$cutposition);
       $news = formatpost($news)."... <b><a href=index.php?mod=index_com&newsid=$id&com=no'>mehr<a></b>";
 
Zurück