php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.05.2005, 13:18  
Gast
 
Beiträge: n/a
Standard Text auf Spalten teilen

Hallo,

ich versuche gerade ein 2-Spalten Layout aufzubauen.
Der Text kommt aus einer mySQL DB. Dieser kann mit einfachen HTML-Tags formatiert gespeichert werden.

PROBLEM: Wie kann ich die Textlänge des gesamten ANGEZEIGTEN Textes ermitteln und anschließend den Text auf die 2 Spalten verteilen, OHNE mir meine Tags zu zerhauen ( die Mitte des Textes kann ja theor. mitten in einem TAG liegen).

Bislang sieht das ganze so aus:

PHP-Code:
<?php
// Text einlesen
$contentIn split(" "$row_content['text_deutsch']);
$text implode(" "$contentIn);
// Anzahl Spalten
$spalten 2;  
// tags entfernen
$text2 strip_tags($text);  
// länge berechnen
$length strlen($text2);    

if(isset(
$row_content['bild_mood'])) {
    
$length $length 150;
}
$length ceil($length/$spalten);
$words explode(" ",$text);
$c count($words);
$l 0;
$spaltencounter 1;
for(
$i=1;$i<=$spalten;$i++) {
    
$new_string "";
    echo 
"<div class=\"spalte".$spaltencounter."\">";
    
/* optionales Bild rechts */
    
if(isset($row_content['bild_mood']) && ($spaltencounter == 2)) {
        echo 
"<img src=\"".$row_content['bild_mood']."\"
"
;
    }
    
/* optionales Bild ende */
    
for($g=$l;$g<=$c;$g++) {
        if(
strlen($new_string) <= $length || $i == $spalten)
        
$new_string.=$words[$g]." ";
        else {
        
$l $g;
        
$spaltencounter $spaltencounter+1;
        break;
    }
}
echo 
$new_string;
echo 
"</div>";
}
?>
Hoffe, Ihr könnt mir helfen.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.05.2005, 13:23  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von dacar
die Mitte des Textes kann ja theor. mitten in einem Text liegen)
Das überrascht mich... SCNR :wink:
 
Alt 31.05.2005, 13:31  
Gast
 
Beiträge: n/a
Standard

sorry, sollte natürlich TAG heißen und nicht TEXT....
 
Alt 31.05.2005, 13:46  
Erfahrener Benutzer
 
Registriert seit: 25.02.2004
Beiträge: 1.524
Orolhawion
Standard

Zitat:
Zitat von dacar
die Mitte des Textes kann ja theor. mitten in einem Text liegen)
das ist der spruch des monats, lol, rofl, ich lach mich weg..

aaaaaaaaaahahahahahahahahahahaha

@dacar: nix für ungut, der is einfach total lustig..
__________________
"die Mitte des Textes kann ja theor. mitten in einem Text liegen"

http://www.jagr.de/
Orolhawion ist offline  
Alt 31.05.2005, 13:50  
Gast
 
Beiträge: n/a
Standard

@Orolhawion: meine philosophischen kenntnisse sind scheinbar besser als meine php Kenntnisse. Scheiße, der Satz ist echt zum wegschmeißen !!!

Aber trotzdem: Kann jemand weiterhelfen, wenn "die Mitte des Textes mitten in einem TAG liegt?
 
Alt 02.06.2005, 12:27  
Gast
 
Beiträge: n/a
Standard

Hi, da ich bislang noch keine Antwort auf meine Frage bekommen habe, hier noch einmal meine Frage:

Wie kann ich in meiner Schleife ausschließen, daß der Umbruch in eine neue Spalte durch ein <tag>???</tag> läuft?

Ich habe die Anzahl der Wörter mit "tags" und ohne "tags".
Wie kann ich feststellen ob das letzte Wort der ersten Spalte von Tags umschlossen ist? Wie muß das Muster aussehen, daß dieses Wort finden kann?


PHP-Code:
<?php
// $c = Anzahl der Wörter
// $spalten = anzahl der Spalten
// $lenghth = ceil($length/$spalten)
// $words = Anzahl der Wörter ohne <html-tags>

 
for($g=$l;$g<=$c;$g++) {
        if(
strlen($new_string) <= $length || $i == $spalten)
            
$new_string.=$words[$g]." ";
        else {
            
$l $g;
            
$spaltencounter $spaltencounter+1;
            break;
            }
        }
?>
 
Alt 02.06.2005, 12:51  
Gast
 
Beiträge: n/a
Standard

Zitat:
die Mitte des Textes kann ja theor. mitten in einem Text liegen)

Könnten wir da nun mal ne runde philosophieren?


Mich würd ja direkt intressiern ob es auch praktisch möglich wäre die mitte eines Textes in die Mitte eines Textes hinein zu legen




Danke @ dakar...mit diesem Spruch haste mir den Tag versüsst.....
etz lach ich mir den ganzen Tag einen ab...



MfG

Julied


PS: Das Danke is wirklich ernst gemeint...
 
Alt 02.06.2005, 12:58  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von dacar
Hi, da ich bislang noch keine Antwort auf meine Frage bekommen habe, hier noch einmal meine Frage:
Wie kann ich in meiner Schleife ausschließen, daß der Umbruch in eine neue Spalte durch ein <tag>???</tag> läuft?
Das ist nicht ganz einfach.

Versuch folgendes:
1. kopiere den Text OHNE HTML Tags in eine andere Variable
2. suche dort die Mitte so, daß Du das Wort ermittelst.
-> Sonderfall: die Mitte ist genau das Leerzeichen zwischen zwei Wörtern. Hier würde ich an Deiner Stelle mir eins der angrenzenden Wörter krallen.
3. suche im ursprünglichen String nach dem Wort und veranstalte das, was Du damit vorhast.
 
Alt 02.06.2005, 13:08  
Gast
 
Beiträge: n/a
Standard

1. Du ermittelst die Länge deines String (strlen) und splittest ihn in der Mitte (substr)

2. Du nimmst den ersten Teil des Strings und suchst von rechts nach links (strrpos) nach dem nächsten Vorkommen des Zeichens "<".

3. Das Selbe mit dem zeichen ">".

4. Sollte die $position von "<" größer sein als die von ">" befindet sich die mitte des Strings in einem Tag. In diesem Fall, wird die Position, an der der string geteilt werden soll nach links verschoben, nämlich genau vor die Position des Zeichens "<".

Code musste selber schreiben.
 
Alt 02.06.2005, 13:09  
Gast
 
Beiträge: n/a
Standard

hi meikel,

leider ist das ganze nicht so einfach.
Was ist wenn ein Wort n mal vorkommt (was wohl der Fall sein wird)?
Die Lerrzeichen habe ich vorher exploded (bzw den String in ein Array geschrieben.

Ich brauche irgendetwas was fogendermaßen arbeitet:

if (letztes Wort in Spalte eins) {
schaue links und rechts ob tag direkt daneben;
}

Wenn ja, nehme Wort und Tags mit in Spalte 2.
 
 


Themen-Optionen
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
BBCode und Text teilen nilius PHP-Fortgeschrittene 12 23.04.2008 20:05
JavaScript/PHP: qooxdoo 0.7.1 - Teil 1 : Eine Einführung Zergling-new Tutorials 6 25.01.2008 10:41
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
MySQL-Volltextsuche SvenLittkowski Datenbanken 6 14.06.2007 19:58
Text teilen und in $var aufnehmen CHRIS PHP Tipps 2006 15 16.09.2006 19:45
spalte rechts ausrichten, text aber trotzdem linksbündig Crypi HTML, Usability und Barrierefreiheit 5 14.09.2006 11:35
nicht formatierten Text in mehreren Spalten darstellen PHP-Fortgeschrittene 4 17.02.2006 10:55
CSS - Design (clear - Problem) HTML, Usability und Barrierefreiheit 7 21.12.2005 14:55
Text aus der DB verteilen PHP Tipps 2007 17 16.11.2005 12:04
[Erledigt] Link PHP Tipps 2005-2 10 20.07.2005 21:28
text teilen soulja.rox PHP Tipps 2005-2 3 07.07.2005 11:57
[Erledigt] DIV´s wollen nicht wie ich das will :-) HTML, Usability und Barrierefreiheit 22 28.03.2005 18:36
frames probleme HTML, Usability und Barrierefreiheit 6 18.01.2005 02:33
Zeilenumbrüche aus einem formatierten Text entfernen woods PHP Tipps 2004 9 23.09.2004 12:50
txt-Datei erstellen d-81 PHP Tipps 2004 12 11.08.2004 20:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html zellen teilen, html zelle teilen, php text in spalten, php text spalten, php text in spalten aufteilen, php automatische text spalten, php text teilen, zelle teilen html, html text auf spalten verteilen, php textblock teilen, text mysql split teilen, php forum txt spalten, php text in spalten verteilen, php text automatisch zwei spalten, html spalte teilen, php text 2 spalten, php text aufspalten, php string in der mitte teilen, eine seite in zwei teilen word mitten im text, text in spalten php

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.