Homepage Inspire-world | Forum
CGI/Perl Workshops Textausgabe kürzen/Textlänge feststellen

 Inhaltsverzeichnis/Workshops Übersichtsseite/Textausgabe kürzen/Textlänge feststellen
Mitunter kommt es vor das man bei bestimmten Textabschnitten nur eine Teilmenge davon darstellen möchte. Gerade bei Layoutabhängigen Sachen kann es bei überlangen Worten oder URL'S schnell zum zerstören des Layoutes kommen. Mit dem nachfolgenden Codeschnipsel kann man dies verhindern.

Hier zunächst der Codeabschnitt

if (length($daten) > 20) 
{
$daten = substr ($daten, 0, 20);
$daten = "$daten" . "...";
}

So funktioniert's

Mit if (length($daten) > 20)wird zunächst einmal geprüft ob der String länger als 20 Zeichen ist. Der Befehl length ist hier maßgebend.

Ist nun der String länger als 20 wird dieser mittels des Befehles substr gekürzt. Dabei kann man nun mit den Zahlenwerten, hier 0, 20, beliebige Ergebnisse erziehlen.

Schlussendlich wird mit $daten = "$daten" . "..."; das Ausgabeformat festgelegt. Würde hier das Wort "Donaudampfschifffartskapitän" der String $daten sein so würde die Ausgabe "Donaudampfschifffart..." ergeben.

Hier noch ein weiteres Beispiel. Ist der Text länger als 40 Zeichen wird ein Link eingeblendet der zu der Datei mit dem ganzen Text verweist.
#!/usr/bin/perl

$daten = "Das ist der Titel einer News mit viel Text. 
Da der Text aber zu lang ist wird dieser auf eine bestimmte Länge hin gekürzt. 
Dann folgt eben ein Link zum weiterlesen des gesamten Artikels.";

if (length($daten) > 40) 
{
$daten = substr ($daten, 0, 40);
$daten = "$daten" . "..." . "<a href=\"weiter.pl\">mehr lesen</a>";
}
print "Content-type: text/html\n\n";
print "$daten";



 Zum Inhaltsverzeichnis/Workshops Übersichtsseite/Textausgabe kürzen/Textlänge feststellen
Autor: Helmut Walter Homepage Inspire-world Fragen, Anregungen und Hinweise bitte in das Forum

Valid HTML 4.0! Valid CSS!