Navigation überspringen: Zu den neuesten Einträgen oder zu den aktuellen Artikeln .

First Words (um nicht das letzte zu haben ;->)

Peter Schwab am 03.12.2002 – 14 Kommentare

Dies ist eine kleine Funktion, um von einem umfangreicheren Text lediglich die ersten Wörter anzuzeigen.

(Erstellt und Hochgeladen aus aktuellem Anlass. :-))

Download Skript

Kommentar von: Robert
Eingetragen am: 13.12.02 um 21.02 Uhr

Kann man aber auch einfacher haben:

Mal als Beispiel: $text="Ihr Text"; $text=strip_tags($text); $text=wordwrap($text, 100); $text=ereg_replace("\n.*", "...", $text);

Kommentar von: Robert
Eingetragen am: 13.12.02 um 21.34 Uhr

Und hier nochmals der komplette Code:


<form action="<?php $_SERVER["PHP_SELF"]; ?>" method="post">
<textarea cols="60" rows="20" name="content">Die Geschichte vom kleinen Blindtext Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtexte. Abgeschieden wohnen Sie in Buchstabhausen an der Küste des Semantik,eines großen Sprachozeans. Ein kleines Bächlein namens Duden fließt durch ihren Ort und versorgt sie mit den nötigen Regelialien. Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in den Mund fliegen. Nicht einmal von der allmächtigen Interpunktion werden die Blindtexte beherrscht - ein geradezu unorthographisches Leben. Eines Tages aber beschloß eine kleine Zeile Blindtext, ihr Name war Lorem Ipsum,hinaus zu gehen in die weite Grammatik. Der große Oxmox riet ihr davon ab, da es dort wimmele von bösen Kommata, wilden Fragezeichen und hinterhältigen Semikoli, doch das Blindtextchen ließ sich nicht beirren. Es packte seine sieben Versalien, schob sich sein Initial in den Gürtel und machte sich auf den Weg. Als es die ersten Hügel des Kursivgebirges erklommen hatte, warf es einen letzten Blick zurück auf die Skyline seiner Heimatstadt Buchstabhausen, die Headline von Alphabetdorf und die Subline seiner eigenen Straße, der Zeilengasse. Wehmütig lief ihm eine rethorische Frage über die Wange, dann setzte es seinen Weg fort. Unterwegs traf es eine Copy. Die Copy warnte das Blindtextchen, da, wo sie herkäme wäre sie zigmal umgeschrieben worden und alles, was von ihrem Ursprung noch übrig wäre,sei das Wort «und» und das Blindtextchen solle umkehren und wieder in sein eigenes,sicheres Land zurückkehren. Doch alles Gutzureden konnte es nicht überzeugen und so dauerte es nicht lange, bis ihm ein paar heimtückische Werbetexter auflauerten, es mit Longe und Parole betrunken machten und es dann in ihre Agentur schleppten, wo sie es für ihre Projekte wieder und wieder mißbrauchten. Und wenn es nicht umgeschrieben wurde, dann benutzen Sie es immer noch.</textarea>
<br><br>
Kürzen um: <input type="text" size="5" name="howmany">
<br><br>
<input type="submit" value="Go...">
</form>
<hr size="1">

<?php
if(isset($_POST["howmany"])){
$kuerzen_um=$_POST["howmany"];
$content=$_POST["content"];
$content=wordwrap($content, $kuerzen_um);
$content=ereg_replace("\n.*", "...", $content);
echo $content;
}
?>

Kommentar von: Olaf Gleba Eingetragen am: 14.12.02 um 00.25 Uhr

Hallo,

wie immer führen viele Wege nach Rom (die aber dann doch ähnlich sind) :) Auf den css-technik Seiten ist das folgendermaßen gelöst:

$abfrage = strlen($row[art_Text]);
if($abfrage > 300) {
$neu = "".stripslashes(htmlspecialchars($row[art_Text], EN_QUOTES))."";
$tmp = str_replace("\n", "", $neu);
$trans_tmp = translate_back($tmp); //Funktion um UBB Code rauszuholen
$out = substr($trans_tmp,0,strrpos(substr($trans_tmp,0,300)," "))."";
echo nl2br("$out...\n");
}

gruss Olaf

Kommentar von: Andre Eingetragen am: 03.01.04 um 12.39 Uhr

Oder noch einfacher:

<?php

$str = "Das ist ein Text der halt a bisl zu lang ist und ich kuerze ihn nach dem 30 Leerzeichen, \naber ein Wort abschneiden tu ich nicht";

echo substr($str, 0, strpos($str, ' ', 30));

?>

Kommentar von: Basti Eingetragen am: 03.06.04 um 00.39 Uhr

Hi.

Diese Aufgabe musste ich auch schon lösen und hab das so gemacht:

function teasertext ($string, $min, $max) 
{
if ($min < 0 or !is_int($min)) die('<b>Warning:</b> Second argument to teasertext() should be a positive integer');
if ($max <= $min or !is_int($max)) die('<b>Warning:</b> Third argument to teasertext() should be a positive integer greater than the second argument');
if (strlen($string) > $max) {
$stops = array('.', ';', ':', ',', ' ');
$sub = substr($string, $min, $max-$min);
for ($i=0; $i<count($stops); $i++) {
if (count($subArray = explode($stops[$i], $sub)) > 1) {
$subArray[count($subArray)-1] = ' ';
$sub = implode($stops[$i] , $subArray);
break;
}
}
$string = substr($string, 0, $min).$sub.'...';
}
}

Als erstes Argument wird der zu kürzende Text übergeben (Auszeichnungen etc. werden hier nicht beachtet). Das nächste Argument $min definiert die Mindestzeichenlände und das letzte Argument $max die maximale Länge des Teasertextes.

Der Text wird also nicht einfach nach dem Buchstaben Nr. X oder nach dem Wort Nr. Y abgeschnitten, sondern irgendwo im Bereich zwischen dem Zeichen Nr. $min und dem Zeichen Nr. $max. Dazwischen sucht die Funktion zunächst nach Punkten (Satzenden), an denen ein Schnitt natürlich am saubersten wäre. Findet es keinen Punkt, sucht es nach Semikolon, Doppelpunkt, Komma und zuletzt nach einem Leerzeichen. Diese Zeichen lassen sich im Array $stops definieren.

So kann der Anwender also ganz gut entscheiden, ob er ein möglichst konsistentes Layout durch eine relativ identische Textlänge erzeugen möchte (dann würde er das Intervall zwischen $min und $max möglichst klein setzen) und einem möglichst sauberen Schnitt, wobei die einzelnen Texte (in der Regel benutzt man diese Technik ja für Übersichtsseiten, bei denen mehrere solcher Teasertexte untereinander stehen) dann eben eine etwas unterschiedliche Länge haben (dann würde er das Intervall zwischen $min und $max möglichst groß machen).

Basti

Kommentar hinzufügen

Bitte füllen Sie alle Felder mit einem * aus. Ihre E-Mail-Adresse wird nicht veröffentlicht. HTML ist nicht erlaubt, dafür Markdown.






Zur Spamvermeidung nutzt das Formular ein sogenanntes Captcha.
Bitte tragen Sie das Ergebnis der Rechenaufgabe in das nachfolgende Feld ein.
(Beispiele: max(3,5) = 5; min(2,8) = 2; 3 + 5 = 8)

8 * 9


Menü

Stichworte / Tags

Jahresarchiv

News Feeds

Externe Links

Bestes Online Casino

https://www.bestonlinecasino.com/de/

Alle Merkur Slots Online

https://slots.info/de/merkur/

https://betrugsverdacht.com/online-casinos/

Validiert nach: