Testa något på det här hållet:
$array = explode(" ", $row['kolumn']);
if (sizeof($array) > 10) {
array_splice($array, 10);
echo implode(" ", $array).'...';
} else {
echo $row['kolumn'];
}
2 svar · 231 visningar · startad av kalleklätter
Tjena allihop!
Jag har en liten fråga.
Hur gör man i PHP för att läsa bara t.ex. de 10 första orden från ett fält i en databas...Så att utskriften på en sida ser ut så här:
"Idag är det söndag och jag gick ner på stan och..."
"Läs mer..."
När man klickar på "läs mer" kommer hela innehållet från fältet i databasen...Om ni förstår vad jag menar? :birp
Nån som vet hur man löser detta?
/Kalleklätter
Testa något på det här hållet:
$array = explode(" ", $row['kolumn']);
if (sizeof($array) > 10) {
array_splice($array, 10);
echo implode(" ", $array).'...';
} else {
echo $row['kolumn'];
}
Ett alternativ är ju:
while (strpos($DBtext, " ") > 0 && $i < 10) {
$text .= $text . substr($DBtext, strpos($DBtext, " "));
$DBtext = substr($DBtext, -1 * (int)(strlen($DBtext) - strpos($DBtext, " ")));
}
Sen innehåller $text dina 10 ord. Vill du ha mer ord så ökar du bara i:
while (strpos($DBtext, " ") > 0 && $i < 10)
Har inte provat koden eller nåt, så lite finjustering får du kanske göra själv.