Hallo PHP-Gemeinde,
ich hätte da mal wieder was, was mich verzweifeln lässt.
Ich habe eine Newsübersich gemacht, die mir Enträge listet. Da die Einträge recht lang sein können, sollen nur die ersten paar Worte dastehen.
Klar, mit substr() kann man den String abschneiden, aber ich will nicht mitten im Wort trennen, sondern das ganze soll dann nach dem letzten Wot abschneiden.
Also habe ich dafür eine Funktion gebaut, ich muss dazu sagen, dass das meine erste Funktion überhaup ist. Habe sowas vorher noch nie gebraucht.
So weit mein Script:
Der Inhalt für $cur[content] wird per while() aus einem Array gezogen.
---------------------------------------------------------------------------------------------
$text = substr($cur[content],0,72);
function short($input){
if (substr($input,-1) != " ") {
$text = substr($input,0,-1);
short($text); // Ich rufe also so lange meine Funktion auf, bis ich ein Leerzeichen als letztes habe.
}
}
short($text); // Hier rufe ich die Funktion auf
print $text."..."; // Hier soll der Text ausgegeben werden
---------------------------------------------------------------------------------------------
Mit einem Eintrag in der DB funktioniert das auch wunderbar. Aber sobald ich einen zweiten drin habe, bekomme ich die Meldung
Fatal error: Cannot redeclare short() in /homepages/....
Hat da jeman eine Lösung, geht das vielleicht auch einfacher?
Grüße, Andi
ich hätte da mal wieder was, was mich verzweifeln lässt.
Ich habe eine Newsübersich gemacht, die mir Enträge listet. Da die Einträge recht lang sein können, sollen nur die ersten paar Worte dastehen.
Klar, mit substr() kann man den String abschneiden, aber ich will nicht mitten im Wort trennen, sondern das ganze soll dann nach dem letzten Wot abschneiden.
Also habe ich dafür eine Funktion gebaut, ich muss dazu sagen, dass das meine erste Funktion überhaup ist. Habe sowas vorher noch nie gebraucht.
So weit mein Script:
Der Inhalt für $cur[content] wird per while() aus einem Array gezogen.
---------------------------------------------------------------------------------------------
$text = substr($cur[content],0,72);
function short($input){
if (substr($input,-1) != " ") {
$text = substr($input,0,-1);
short($text); // Ich rufe also so lange meine Funktion auf, bis ich ein Leerzeichen als letztes habe.
}
}
short($text); // Hier rufe ich die Funktion auf
print $text."..."; // Hier soll der Text ausgegeben werden
---------------------------------------------------------------------------------------------
Mit einem Eintrag in der DB funktioniert das auch wunderbar. Aber sobald ich einen zweiten drin habe, bekomme ich die Meldung
Fatal error: Cannot redeclare short() in /homepages/....
Hat da jeman eine Lösung, geht das vielleicht auch einfacher?
Grüße, Andi
Kommentar