phpbuddy.eu
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 06.10.2004, 17:54   #1
TP-Newbie
 
Registriert seit: Sep 2004
DjPD macht alles soweit korrekt
Question

[php]Text kürzen und per "mehr..." wieder lang machen


Hallo

ich habe mal eine Frage wegen Texten oder Variablen die einen Langen Text enthalten. Ich habe ein Zufallsscript gemacht was Textdateien ausließt und ich habe auch noch vor ein Newsscript zu erstellen.
Ich möchte jetzt erst einmal in meinen Zufallsscript ein Textkürzer haben.
Also ich möchte das so haben das der Text sagen wir mal auf ca. 150 Zeichen begrenzt ist. Sollte der text mehr als 150 Zeichen beinhalten so soll er den Rest der 150 Zeichen nicht anzeigen aber dafür einen Link mit dem Text "mehr..." anzeigen.
Wenn man dann auf mehr klickt soll er den restlichen Text auch mit anzeigen.

Meine Frage ist jetzt: "Wie mache ich das"???
Also wie mache ich das, dass es am einfachsten bzw. am besten ist.
Kann mir vielleicht jemand helfen?

Vielen Dank im Vorraus
Gruss
DjPD

P.S.: Wenn ich diese Funktion jetzt auch in mein Newsscript einbauen möchte. Muss ich da etwas besonderes beachten? Weil ich dem Zufallsscript ist ja je eine Datei und im Newsscript wird es ja so sein das ich eine Datei mit allen News habe. Vielleicht könnt ihr mir hier auch eine kurze Antwort drauf geben. Aber wichtiger ist die obere Frage, da ich absolut nicht weiß wie ich das am besten hinbekomme. Ich hatte ja vor 2 php Dateien zu erstellen und da jeweils das Script mit unterschiedlichen Einstellungen rein zu machen, aber das war ja unlogisch, da es ja ein Zufallsscript ist und wenn ich das so gemacht hätte, würde ja nicht der Text den die Leute weiter lesen wollen verlängert, sondern es würde ja wieder ein neuer text aufgerufen, da ja Zufallsscript
DjPD ist offline   Mit Zitat antworten


Alt 06.10.2004, 21:59   #2
TP-Senior
 
Benutzerbild von kruetten
 
Registriert seit: May 2001
Ort: Orenhofen
kruetten macht alles soweit korrekt
Schau Dir mal die beiden Funktionen an:
http://de2.php.net/manual/de/function.substr.php
http://www.php3.de/wordwrap
__________________
Ich weiss keinen Weg zum sicheren Erfolg, nur einen zum sicheren Misserfolg - es jedem recht machen zu wollen. Plato
kruetten ist offline   Mit Zitat antworten
Alt 07.10.2004, 02:21   #3
TP-Newbie
 
Registriert seit: Sep 2004
DjPD macht alles soweit korrekt
Ja, vielen Dank ersteinmal

Ich habe mir das jetzt eine Weile angeschaut,
aber ich frage mich nur die ganze Zeit wofür ich den den 2ten Link brauche?
wordwrap
Ich habe gesehen das dadurch nur Zeilenumbrüche gemacht werden.
Muss diese Function den da drin sein?

Und der erste ist mir auch nicht so ganz schlüssig. Da ja meine Dateien immer verschieden Gross sind.

PHP-Code:
<?php

function adir($dirname) {
$handle=opendir($dirname);
$dirarray = array();
while (
$file readdir($handle))
{
if (
$file "..") {array_push($dirarray,$file);}
}
closedir($handle);
return 
$dirarray;
}

function 
randdir($dirname)
{
srand ((double) microtime() * 10000000);
$dirarray adir($dirname);
$rndfile array_rand($dirarray);
return 
$dirarray[$rndfile];
}

function 
print_array($array) {
if(
gettype($array)=="array") {
echo 
"<ul>";
while (list(
$index$subarray) = each($array) ) {
echo 
"<li>$index <code>=&gt;</code> ";
print_array($subarray);
echo 
"</li>";
}
echo 
"</ul>";
} else echo 
$array;
}
echo 
$randomtext
?>
Wenn ich jetzt die function wordwrap oder substr einbaue, könnte ich mir ja nie die Datei ganz anzeigen lassen, da ja wenn ich die Seite neu lade z.B. mit einem Link das er jetzt alles anzeigen soll, weil die Seite ja dann wieder zufällig eine andere Datei anzeigen würde und diese dann neu anzeigt.

Hat jemand evtl. noch eine andere Idee???
Oder kann mir jemand bei meinen Gedankengängen helfen?

Gruss
Dj_PD
DjPD ist offline   Mit Zitat antworten
Alt 07.10.2004, 08:37   #4
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Auf Wordwrap wird in diesem Fall fälschlicher Weise des öffteren hingewiesen ... zu deinem Problem: http://www.traum-projekt.com/forum/s...ad.php?t=46066 dort hab ich ne Funktion aus Smarty geposted, die genau das macht, was du möchtest.

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 07.10.2004, 08:59   #5
TP-Senior
 
Benutzerbild von kruetten
 
Registriert seit: May 2001
Ort: Orenhofen
kruetten macht alles soweit korrekt
Zitat:
Zitat von Stuck Mojo
Auf Wordwrap wird in diesem Fall fälschlicher Weise des öffteren hingewiesen
Hast schon recht , aber ...
Soll die Ausgabe nicht mitten in einem Wort unterbrochen werden, bietet es sich an, die Funktion wordwrap() zu "missbrauchen":
PHP-Code:
//Nur ganze Wörter, max. 20 Zeichen von $string ausgeben:
echo wordwrap($string20"\0") . ' ...'
Eigentlich dient wordwrap() dazu, einen Fließtext auf eine gewisse Breite zu formatieren. Das Trennzeichen "\0" terminiert die Ausgabe jedoch bereits beim ersten Trenner, den wordwrap() einzufügen versucht ...

Zitat:
Zitat von DjPD
Wenn ich jetzt die function wordwrap oder substr einbaue, könnte ich mir ja nie die Datei ganz anzeigen lassen, da ja wenn ich die Seite neu lade z.B. mit einem Link das er jetzt alles anzeigen soll, weil die Seite ja dann wieder zufällig eine andere Datei anzeigen würde und diese dann neu anzeigt.
Der Link darf natürlich nicht mehr auf die random-Datei führen, sondern explizit auf die vorher gekürzte Datei im kompletten.
__________________
Ich weiss keinen Weg zum sicheren Erfolg, nur einen zum sicheren Misserfolg - es jedem recht machen zu wollen. Plato
kruetten ist offline   Mit Zitat antworten
Alt 07.10.2004, 09:12   #6
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Zitat:
Zitat von kruetten
Eigentlich dient wordwrap() dazu, einen Fließtext auf eine gewisse Breite zu formatieren. Das Trennzeichen "\0" terminiert die Ausgabe jedoch bereits beim ersten Trenner, den wordwrap() einzufügen versucht ...
das hab ich ja noch nie gehört? Wieso sollte php bei einem NUL-Byte als Trennzeichen abbrechen?

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 07.10.2004, 12:12   #7
TP-Newbie
 
Registriert seit: Sep 2004
DjPD macht alles soweit korrekt
PHP-Code:
<?php
require "confic.inc.php";

function 
smarty_modifier_truncate($string$length 80$etc '...'
                                  
$break_words false) {
    if (
$length == 0) {
        return 
''
}
    if (
strlen($string) > $length) { 
        
$length -= strlen($etc);     
        if (!
$break_words
        
$string preg_replace('/\s+?(\S+)?$/'''substr($string0$length+1)); 
       
        return 
substr($string0$length).$etc
    }
    else {
        return 
$string;
        }
}

function 
adir($dirname) {
$handle=opendir($dirname);
$dirarray = array();
while (
$file readdir($handle))
{
if (
$file "") {
array_push($dirarray,$file);
}
closedir($handle);
return 
$dirarray;
}
}
function 
randdir($dirname)
{
srand ((double) microtime() * 10000000);
$dirarray adir($dirname);
$rndfile array_rand($dirarray);
return 
$dirarray[$rndfile];
}

function 
print_array($array) {
if(
gettype($array)=="array") {
echo 
"<ul>";
while (list(
$index$subarray) = each($array) ) {
echo 
"<li>$index <code>=&gt;</code> ";
print_array($subarray);
echo 
"</li>";
}
echo 
"</ul>";
}
else {
echo 
$array;
}
}

$randomfilename randdir($odnerver);
$randomtext join(file("texte/",$randomfilename),"\n");

//dies ist nur zum Test
echo "$randomtext";

echo 
smarty_modifier_truncate($randomtext);
Öhm, ist ja schonmal eine gute Idee, aber irgendwie kommt da nichts.
Aber ich versuche es gleich nochmal, der Zeigt auch keinen Fehler an oder so. Ich hasse das wenn ein Fehler drin ist und er zeigt nichts an

Aber sagen Wir jetzt mal das ich das so zum laufen bekomme.
Wenn das Script dann den Text so ausgibt, dass der ... anhängt wenn er länger als 80 Zeichen lang ist. Dann habe ich ja die passende Datei, so das ich sagen könnte:
... = $randomfilename
(evtl. mit ereg_replace)
und die lasse ich mir dann normal anzeigen.
Wäre das so richtig?

Gruss
Dj_PD

P.S.: Findet Ihr die Programmierung von dem Zufallsscript gut, oder hättet Ihr noch Tips wie man das besser machen könnte, so das auch die function (text kürzen) besser einzubauen ist. Bin ja auch noch frisch in php und "function ..." fällt mir noch sehr schwer, da ich nie genau weiß was das genau ist, bzw. wie man diese ausführen kann.

Geändert von DjPD (07.10.2004 um 12:15 Uhr).
DjPD ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
[php]Text kürzen und per "mehr..." wieder lang machen [php]Text kürzen und per "mehr..." wieder lang machen
« PHP-Stundenplan | Foto dynamisch einfärben? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Markenrecht - Wie schütze ich meinen Firmen- und Domainnamen adrian Recht & Co 4 07.06.2003 10:28
Portal : Fremdsprachen- und Zeitschriften ::..Thomas..:: Einfach so ... 4 22.12.2001 02:25
Newsletter Ausgabe 6 Robert Traum-News 3 24.06.2001 10:01


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:14 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67