Ich würde gerne für einige zu große Einträge in meiner Seite (Gästebuch, was auch immer) eine Weiterlesen (Read More) Funktion erstellen.
Dabei bin ich mir aber bei ein paar Sachen unsicher, auch was das Vorgehen angeht.
Ich würde das ganze schon gerne mit so einem kleinem Effekt machen, also müsste man das ganze ja auch schon mit JS machen. Könnte man das ganze eigentlich auch irgendwie über PHP realisieren? Mit Effekt dann ja warscheinlich nicht, wenn JS nicht eingeschaltet ist? Dabei frage ich mich dann ja jetzt auch, ob ich das ganze dann wirklich mit JS machen sollte oder nicht, weil wenn JS ja dann nicht aktiviert ist, müsste man den Eintrag dann ja entweder komplett anzeigen oder man kann den Rest halt nicht anzeigen?
So einen kleinen Teil habe ich auch schon einmal mit JS realisiert: https://jsfiddle.net/46muwz4t/2/
Nur würde ich das ganze dann ja auch nicht bei jedem Eintrag aus der DB manuell machen müssen. Da fängt auch eigentlich schon eines der Probleme an, wenn ich das ganze dann wirklich mit JS & natürlich PHP erstellen will. Die Einträge kommen ja aus der DB und ich gehe diese ja in einer foreach Schleife durch. Wie könnte ich da prüfen, ob JS aktiviert ist? Wenn nicht, würde ich den Eintrag ja dann ganz anzeigen. So eine Lösung habe ich bei Stackoverflow gefunden:
<script type="text/javascript">
$(document).ready(function(){
$.get("js.php");
});
</script>
Dann könnte ich das ja dann beim Einfügen der Einträge überprüfen, ob die Session existiert und dann so eine Funktion hier aufrufen: ?
function divideContent($stringToSplit)
{
$string = strip_tags($stringToSplit);
if(strlen($string) > 600)
{
$cuttedString = substr($string, 0, 600);
$string = substr($cuttedString, 0, strrpos($cuttedString, ' '));
}
return $string;
}
Alles anzeigen
aber ich brauche dann ja auch noch den Rest des Strings. Wie kann ich denn dann nachher anzeigen?
Man müsste dann ja auch zudem einen <div> um die entsprechenden ausklappbaren Teile legen und davor dann jeweils natürlich auch noch den link setzen, wie macht man das? Das würde man dann warscheinlich wieder mit Javascript machen bzw. jQuery?
So ein kleiner Teil, wie man das ganze auch nur mit PHP realisieren könnte ist mir auch wohl eingefallen aber dann müsste man ja auch warscheinlich mit diesem Link irgendwie die Daten mitgeben oder das müsste dann jeweils eine Form sein, die dann abgeschickt wird?
function divideContent($stringToSplit)
{
$string = strip_tags($stringToSplit);
if(strlen($string) > 600)
{
$cuttedString = substr($string, 0, 600);
$string = substr($cuttedString, 0, strrpos($cuttedString, ' ')).'... <a href="....">Read More</a>';
}
return $string;
}
Alles anzeigen
Ja, wie kann man das ganze am besten realisieren? Mit PHP oder mit Javascript oder findet ihr meinen Ansatz oben mit JS & PHP so okay?
Das ganze hier habe ich übrigens in den PHP Thread gestellt, weil es ja eigentlich auch eher ein PHP Problem ist. Wenn ich die Einträge aus der DB holen will, muss ich ja mit PHP arbeiten um dann auch den String aufzuteilen bzw. dieses auch für jeden Eintrag zu machen, obwohl mir grade einfällt, das man ja auch eine JS Funktion erstellen könnte? ... ?
Puuuh, ich habe grad echt keine Ahnung mehr. (Bittet um Hilfe)