Seite 1 von 1
Länge der Zeichenkette?
Verfasst: 17.10.2005 22:07
von fanrpg
Also ich arbeite an einem kleinen Script und dafür soll Narichten ab 255 Zeichen gekürzt werden und mit einem Link auf eine GET Action Page gemacht werden wo dann die kompletten News stehen ohne die anderen aber zum Problem:
Wenn ich das jetzt machen dann zeigt er mir bei News die kleiner als 255 Zeichen sind trotzdem den Link an, aber mit der ID von den längeren News wieso?
Hier mal der Code:
Code: Alles auswählen
$message_long = strlen($message);
if($message_long > 255)
{
$message = substr($message, 0, 255);
$mehr = "...<br /><br /><a href=\"news_view.php?action=longnews&id=".$row['news_id']."\">[ Mehr Lesen ]</a>";
}
Aber wenn ich
Code: Alles auswählen
$message_long = strlen($message);
if($message_long < 255)
{
$message = substr($message, 0, 255);
$mehr = "...<br /><br /><a href=\"news_view.php?action=longnews&id=".$row['news_id']."\">[ Mehr Lesen ]</a>";
}
mache dann macht der das richtig und zeigt den Link nur bei der kleinen Naricht an
Ich versteh das irgendwie nicht

Re: Länge der Zeichenkette?
Verfasst: 18.10.2005 13:35
von netzmeister
Wenn ich Deinen Beitrag lese verstehe ich es auch nicht.
Bitte ließ in nochmal durch und koorigiere die gröbsten Rechtschreib- und Satzbaufehler. Danke
Gruß netzmeister
Verfasst: 18.10.2005 14:24
von D@ve
und dafür soll Narichten ab 255 Zeichen gekürzt werden und mit einem Link auf eine GET Action Page gemacht werden
mache dann macht der das richtig und zeigt den Link nur bei der kleinen Naricht an
Du widersprichst Dir selber... Wo soll denn jetzt der Link angezeigt werden bei der großen nachricht (strlen() > 255) oder bei der kleinen Nachricht (strlen() < 255). Vielleicht solltest Du Dir darüber erstmal klar werden, dann ergibt sich der Code von ganz alleine...
Gruß, Dave
Verfasst: 18.10.2005 15:04
von fanrpg
Wenn die Nachricht grösser als 255 Zeichen ist, soll die gekürzt werden also wenn die Nachricht grösser als 255 Zeichen, das mit dem kleiner im ersten Post, war nur als Beispiel das er es logisch richtig macht wenn die Naricht kleiner ist.
Zu Bedenken ist auch noch das das Script in einer While Schleife ist
Hier mal der Quellcode vom ganzen Script vielleicht kann man damit mehr anfangen als mit dem Schnipsel oben
www.fanrpg.de/problem.html
Verfasst: 18.10.2005 17:04
von mristau2k5
ersetze das mal
Code: Alles auswählen
$message_long = strlen($message);
if($message_long > 255)
{
$message = substr($message, 0, 255);
$mehr = "...<br /><br /><a href=\"news_view.php?action=longnews&id=".$row['news_id']."\">[ Mehr Lesen ]</a>";
}
mit dem
Code: Alles auswählen
if(strlen($message) > 255)
{
$message = substr($message,0,255);
$message .= "...<br /><br /><a href=\"news_view.php?action=longnews&id=".$news_id."\">[ Mehr Lesen ]</a>";
}
und in der Ausgabe
durch
so müsste der Link dann überall korrekt angezeigt werden. So wie es jetzt ist, hat nämlich $mehr sobald eine lange Nachricht da war immer nen Wert, der dann auch angezeigt wird, wenn die Nachricht kürzer ist.
So wie es jetzt geändert wurde, wird das Mehr nur bei langen Nachrichten angezeigt, beim nächsten Schleifendurchlauf wird $message wieder neu belegt.
Verfasst: 18.10.2005 19:34
von fanrpg
THX deine Variante funktioniert
So wie es jetzt ist, hat nämlich $mehr sobald eine lange Nachricht da war immer nen Wert, der dann auch angezeigt wird, wenn die Nachricht kürzer ist.
Das stimmt, wenn ich unset($mehr); an die While Schleife anhänge (also am Anfang) passiert das auch nicht