mysqldumper
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 19.09.2004, 00:22   #1
TP-Junior
 
Registriert seit: Sep 2004
Ort: Deutschland
Zeussi macht alles soweit korrekt
Question

Nach xx Zeilen "..." anzeigen


Tach leute...
ich habe mal wieder nen kleines Prob...
Hier mal mein Design, für meine Homepage, das ich bald online stellen werde:
Klick hier!

so, nun sind oben ja die lastnews...
nun brauche ich aber etwas, das "..." (pünktchen) anzeigt, wenn die news aus zu vielen zeilen bestehen, weil sich sonst das ganze design verschiebt...
ich denke mal, dass man das mit "preg_replace()" machen kann...

Code:
function kpl_wrap_words($TEXT, $WIDTH) {
	$WIDTH = $WIDTH - 1;
	if($TEXT) return preg_replace("/([^\n\r ?&\.\/<>\"\\-]{".$WIDTH."})/i"," \\1<br>", $TEXT);
}
das hier z.B. trennt die Zeilen nach einer bestimmten anzahl an Buchstaben, die man mit $WIDTH einstellen kann...

aber ich will ja, dass dann nur "..." nach einer bestimmten anzahl an zeilen angezeigt werden, und der rest dann nicht mehr angezeigt wird...

Weiß jemand was ich meine?
weiß jemand, wie das geht?

Danke schonmal!
MFG
Zeussi
Zeussi ist offline   Mit Zitat antworten


Alt 19.09.2004, 00:28   #2
TP-Special Mod
 
Benutzerbild von webmichl
 
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
webmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine User
Hmm....
meinst Du nicht, daß Du mit strlen() und substr() wesentlich einfacher zum Ziel kommst? Also:

if ( strlen( $String ) > $Maximum ) { print substr( $String,0,$Maximum ) ."..." }


oder so ähnlich - 's ist scho spät....


EDIT
ups - sehe gerade: Anzahl Zeilen....
webmichl ist offline   Mit Zitat antworten
Alt 19.09.2004, 00:37   #3
TP-Junior
 
Registriert seit: Sep 2004
Ort: Deutschland
Zeussi macht alles soweit korrekt
hhmm.. ja im grunde suche ich sowas ähnliches...
nur das nach bestimmten anzahl an zeilen die punkte angezeigt werden und nicht nach bestimmten anzahl an Buchstaben...
du hast übrigens ein ";" vergessen

EDIT
Oder weiß vllt. jemand anderes ne Lösung?

Geändert von Zeussi (19.09.2004 um 00:43 Uhr).
Zeussi ist offline   Mit Zitat antworten
Alt 19.09.2004, 01:17   #4
TP-Member
 
Registriert seit: Sep 2004
Ort: Odenwald
-=Odin=- macht alles soweit korrekt
Wieso machst du es denn nicht, wie dir webmichl geraten hat? Nicht die Zeilen, sondern die Zeichen zählen - und dann entsprechend nach einer bestimmten Anzahl abschneiden? Macht meiner Meinung nach mehr Sinn.

Mit Zeilen kannst du es wie folgt realisieren:

PHP-Code:
$Text 'Hallo,<br />
dies ist ein<br />
test!!<br />'
;

$Zeilen explode("\n"$Text); 
bzw so:
PHP-Code:
$Text 'Hallo,<br />
dies ist ein<br />
test!!<br />'
;

$Zeilen explode("<br />"$Text); 
Anschließend, via Schleife jeden Array-Wert, welcher kleiner als deine gewünschte Zeilenanzahl ist, ausgeben.

Wenn du noch den dritten Parameter der Funktion explode angibst (limit), kannst du die Beschränkung auf eine bestimmte Anzahl von Zeilen noch schneller integrieren:

Zitat:
...
$Text2 = explode("\n", $Text, 3);
...
mfg
Odin

Geändert von -=Odin=- (19.09.2004 um 01:25 Uhr).
-=Odin=- ist offline   Mit Zitat antworten
Alt 19.09.2004, 01:46   #5
TP-Junior
 
Registriert seit: Sep 2004
Ort: Deutschland
Zeussi macht alles soweit korrekt
jau... habe jetzt mal deine idee übernommen und nen bisschen erweitert...
meine kleine test datei funzt:

PHP-Code:
<?php
$Text 
'Hallo,<br />
dies ist ein<br />
test!!<br />
test1!!<br />
test2!!<br />
test3!!<br />'
;

$Text2 explode("\n"$Text);

for(
$i=0$i<count($Text2);$i++){
    if(
$i<7) {
        echo 
$Text2[$i];
    }
}

if(
$i>7) {
    echo 
"...";
}
?>
nur klappt das hier jetzt nicht

PHP-Code:
<?php
$kpl_news_data1
['datei'] = kpl_read_file("data/news_system/news.dat");
$arr explode("|***|"$kpl_news_data1['datei']);
for(
$i 0$i count($arr) - 1$i++) {
    if(
$i >= "0" AND $i "1") {
        
$arr2 explode("|*|"$arr[$i]);
        
$kpl_news_data1['date']     = date("d.m.Y, H:i"$arr2[3]);
        
$kpl_news_data1['ueberschrift'] = $arr2[1];
        
$kpl_news_data1['name']        = $arr2[0];
        
$kpl_news_data1['news']        = $arr2[2];
        
$kpl_news_data1['id']        = $arr2[3];

        
$kpl_news_data_1        explode("\n"$kpl_news_data1['news']);

        for(
$j=0$j<count($kpl_news_data_1);$j++) {
            if(
$j<7) {
                
$kpl_news_data1['news'] = $kpl_news_data_1[$j];
            }
        }

        if(
$j>7) {
            
$kpl_news_data1['news'] .= "<br><a href\"".$config['url']."/index.php?action=comments&id=".$kpl_news_data1['id']."[...]";
        }
    }
}
?>
ab zeile 12 beginnt in etwa der veränderte teil...
was mache ich falsch?
Zeussi ist offline   Mit Zitat antworten
Alt 19.09.2004, 19:47   #6
TP-Junior
 
Registriert seit: Sep 2004
Ort: Deutschland
Zeussi macht alles soweit korrekt
http://www.bracht-online.de/neu/index.php

da geh mal drauf...
und guck dir oben die latest news an...
normalerweise sollten sie so aussehen, wie die obersten news im main bereich, nur das halt nur 7 Zeilen angezeigt werden sollten...
hier mal der code:
Code:
$kpl_news_data1['datei'] = kpl_read_file("data/news_system/news.dat");
$arr = explode("|***|", $kpl_news_data1['datei']);
for($i = 0; $i < count($arr) - 1; $i++) {
	if($i >= "0" AND $i < "1") {
		$arr2 = explode("|*|", $arr[$i]);
		$kpl_news_data1['date'] 	= date("d.m.Y, H:i", $arr2[3]);
		$kpl_news_data1['ueberschrift'] = $arr2[1];
		$kpl_news_data1['name']		= $arr2[0];
		$kpl_news_data1['news']		= $arr2[2];
		$kpl_news_data1['id']		= $arr2[3];

		$kpl_news_data_1		= explode("<br>", $kpl_news_data1['news']);
		for($j=0; $j<count($kpl_news_data_1);$j++) {
			if($j<7) {
				$kpl_news_data1['news'] = $kpl_news_data_1[$j];
			}
		}
	}
}
und HIER mal die Datei, in die gespeichert wird...

Hoffe, ihr könnt mir helfen!

MFG
Zeus
Zeussi ist offline   Mit Zitat antworten
Alt 19.09.2004, 21:35   #7
TP-Member
 
Registriert seit: Sep 2004
Ort: Odenwald
-=Odin=- macht alles soweit korrekt
Das kann nicht gehen. In der unteren For-Schleife weist du der Variable $kpl_news_data1['news'] immer wieder einen neuen String zu.

Versuch's mal hiermit:
Code:
$kpl_news_data1['datei'] = kpl_read_file("data/news_system/news.dat");
$arr = explode("|***|", $kpl_news_data1['datei']);
for($i = 0; $i < count($arr) - 1; $i++) {
	if($i = "0") {
		$arr2 = explode("|*|", $arr[$i]);
		$kpl_news_data1['date'] 	= date("d.m.Y, H:i", $arr2[3]);
		$kpl_news_data1['ueberschrift'] = $arr2[1];
		$kpl_news_data1['name']		= $arr2[0];
		$kpl_news_data1['news']		= $arr2[2];
		$kpl_news_data1['id']		= $arr2[3];

		$kpl_news_data_1		= explode("<br>", $kpl_news_data1['news'], 7);
		echo implode('<br>', $kpl_news_data1['news']);
	}
}
Auch ist mir diese If-Abfrage schleierhaft:
Zitat:
if($i >= "0" AND $i < "1") {
Größer/gleich NULL, und zugleich kleiner als EINS?? Die einzig nötige Aussage würde wie folgt lauten:
Code:
if($i = "0") {
Script (noch) nicht überprüft, sollte aber funktionieren...

mfg
Odin
-=Odin=- ist offline   Mit Zitat antworten
Alt 19.09.2004, 23:32   #8
TP-Special Mod
 
Benutzerbild von webmichl
 
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
webmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine User
Zitat:
Zitat von -=Odin=-
Code:
if($i = "0") {
öhm...darf ich?

Code:
if($i == "0") {
triffts glaub ich eher...


PS und OT:
Odin hilft Zeus - einfach göttlich....
webmichl ist offline   Mit Zitat antworten
Alt 21.09.2004, 13:19   #9
TP-Junior
 
Registriert seit: Sep 2004
Ort: Deutschland
Zeussi macht alles soweit korrekt
hhmm... funzt immer noch nicht... jetzt gibt er mit nen "Warning: implode(): Bad arguments. in C:\xampp\htdocs\neu\include\header.inc.php on line 138" aus!
aber da hattest du noch nen fehler...
funzt dann aber trotzdem noch nicht!
warum willst du das unbedingt mit limit bei explode machen?
das geht nicht... schlecht zu erklären, aber probier das mal aus, dann siehste was ich meine:
PHP-Code:
<?php
$data 
"Hallo1|*|Hallo2|*|Hallo3|*|Hallo4|*|Hallo5|*|Hallo6|*|Hallo7|*|";

$arr    explode("|*|"$data3);
$arr2     implode("<br>"$arr);

echo 
$arr2;
?>
das muss doch irgendwie gehen, dass man das nach zeilen trennen kann...

PS: Ist schon witzig, dass er mir Hilft...
Zeussi ist offline   Mit Zitat antworten
Alt 21.09.2004, 15:50   #10
TP-Member
 
Registriert seit: Sep 2004
Ort: Odenwald
-=Odin=- macht alles soweit korrekt
Thumbs up

Stimmt, der übrige Teil wird nicht gelöscht - wovon ich ausgegangen bin - sondern an letzter Stelle des Arrays platziert.
D.h. entsprechenden Teil manuell aus Array löschen, oder auf eine For-Schleife umsteigen, mein Fehler, sorry.

In obigem Bsp:

PHP-Code:
$data "Hallo1|*|Hallo2|*|Hallo3|*|Hallo4|*|Hallo5|*|Hallo6|*|Hallo7|*|";
$arr explode("|*|"$data);

for (
$i 0$i <= 3$i++) {
    
$new  .= '<br>'.$arr[$i];
}

echo 
$new
mfg
Odin
-=Odin=- ist offline   Mit Zitat antworten
Alt 21.09.2004, 19:46   #11
TP-Junior
 
Registriert seit: Sep 2004
Ort: Deutschland
Zeussi macht alles soweit korrekt
heidiwitzka
du hast mir grade zu meiner lösung verholfen!
ich idiot habe nur einen punkt vergessen!
Code:
<?php
$kpl_news_data1['datei'] = kpl_read_file("data/news_system/news.dat");
$arr = explode("|***|", $kpl_news_data1['datei']);
for($i = 0; $i < count($arr) - 1; $i++) {
	if($i == "0") {
		$arr2 = explode("|*|", $arr[$i]);
		$kpl_news_data1['date'] 	= date("d.m.Y, H:i", $arr2[3]);
		$kpl_news_data1['ueberschrift'] = $arr2[1];
		$kpl_news_data1['name']		= $arr2[0];
		$kpl_news_data1['news1']	= $arr2[2];
		$kpl_news_data1['id']		= $arr2[3];

		$kpl_news_data_1		= explode("<br>", $kpl_news_data1['news1']);
		for($j=0; $j<count($kpl_news_data_1);$j++) {
			if($j<3) {
				$kpl_news_data1['news'] .= "<br>".$kpl_news_data_1[$j];
			}
		}
	}
}
?>
nach dem $kpl_news_data1['news'] der punkt hat es gebracht... ich habe gar nicht dran gedacht, den zu setzen!
jetzt zur nächsten sache^^
wie mache ich jetzt nen link ("[Mehr]" oder ähnlich) dahinter, wenn die news wirklich länger als 3 Zeilen sind?

der link sollte an die news gehängt werden und sollte so aussehen:
"<a href=\"".$config['url']."/index.php?action=comments&id=".$kpl_news_data1['id']."\"[Mehr]</a>";
wie muss ich das da dran setzen? habe es schon versucht, aber dann wird das nach der ersten zeile angezeigt, oder nach jeder zeile einmal...
oder sollte ich da am besten dann noch ne neue Variable benutzen, und die dann einfach hintendran hängen? Das dann der Link angezeigt wird, wenn mehr als 3 Zeilen da sind und wenn nicht, dann nicht?

MFG
Zeussi ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Traum-Talk > Webdesign & Co.
Nach xx Zeilen "..." anzeigen Nach xx Zeilen "..." anzeigen
« Welches CMS ? | Bilder gesucht »

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
nach passwort eingabe die dazugehörige adresse anzeigen pierre Traum-Dynamik 1 19.12.2003 09:26
Lerre Zeilen werden angezeigt!? badeplatz Traum-Dynamik 2 21.11.2003 16:36
Wenn du nach 1978 geboren wurdest... oelihaue Einfach so ... 10 31.10.2003 15:19
Ergebnisse nach Suche untereinander anzeigen lassen. gogo Traum-Dynamik 9 30.10.2003 13:53
onload-pop-up klappt nach dem öffnen gleich nach unten Parisienne Dreamweaver 2 19.12.2002 09:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:37 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