Antworten auf deine Fragen:
Neues Thema erstellen

Maximale Stringlänge innerhalb eines Datensatzes bis zum Zeilenumbruch

Isometric

Powerproster

Hallo zusammen,

ich habe in einem Datenbankfeld die Adresse in einem Textfeld eingetragen.
Für die Ausgabe der Daten in einer HTML-Tabelle wandle ich ich den Zeilenumbruch mit der nl2br-Funktion um:
Code:
$anschrift     = nl2br($r['address']);
Gibt es eine Möglichkeit die maximale Stringlänge innerhalb eines Datensatzes bis zum Zeilenumbruch zu ermitteln? Also ob die Straße mit Hausnummer (Zeile 1) oder PLZ und Ort (Zeile 2) länger ist?
 

Duddle

Posting-Frequenz: 14µHz

AW: Maximale Stringlänge innerhalb eines Datensatzes bis zum Zeilenumbruch

Ich würde $anschrift an den Zeilenumbrüchen explode()n, dann strlen() auf das entstehende Array mappen und dann das ganze in max() schieben.
Das gibt dir die maximale Länge unter den einzelnen Zeilen.


Duddle
 

Isometric

Powerproster

AW: Maximale Stringlänge innerhalb eines Datensatzes bis zum Zeilenumbruch

Im Prinzip funktioniert es:
Code:
$erg     = explode("<br />",nl2br($row[0]));
aber wenn ich ohne den Umweg über nl2br versuche zu "exploden", dann funktioniert es nicht.

Was muss ich in diesem Falle als Trennzeichen eingeben?
also z.B.

Code:
$erg     = explode("/n",($row[0]));
 

Duddle

Posting-Frequenz: 14µHz

AW: Maximale Stringlänge innerhalb eines Datensatzes bis zum Zeilenumbruch

Der Vorteil von nl2br ist, dass es die verschiedensten Versionen des Zeilenumbruches auf eine Ausgabe reduziert. Es ist daher der meiner Meinung nach bessere Ansatz, den ich auch in meiner eigenen Test-Lösung genutzt habe.

Jetzt musst du nur noch strlen auf $erg mappen, dann hast du ein Array mit den Längen der einzelnen Zeilen.


Duddle
 

Isometric

Powerproster

AW: Maximale Stringlänge innerhalb eines Datensatzes bis zum Zeilenumbruch

So, das hier wäre dann der Code der funktioniert:

Code:
$max_Strlen     = max(array_map('strlen', explode('<br />',nl2br($row['address'])))) ;
Gibt es jetzt noch eine Möglichkeit die Spaltenbreite für eine HTML-Tabelle zu ermitteln, wenn man die maximale Zeilenlänge kennt.

Ich weiß schon, dass das automatisch geht. Ich habe die Ausgabe aber so programmiert, dass nach 25 Einträgen eine neue Tabelle auf einer neue Seite gedruckt wird.

Und wenn ich die Spaltenbreite automatisch ermitteln lasse, dann habe ich auf Seite 1 und Seite 2 usw. unterschiedliche Breiten für die gleiche Spalte.
 

Duddle

Posting-Frequenz: 14µHz

AW: Maximale Stringlänge innerhalb eines Datensatzes bis zum Zeilenumbruch

Naja, die resultierende Breite hängt ja von allen möglichen Parametern ab, darunter Schriftart und -größe oder padding und margins einzelner Elemente. Theoretisch könntest du wohl mit imagettfbox() die Breite des Textes ermitteln, aber das scheint mir nicht die beste Lösung zu sein.

Warum setzt du nicht eine feste Breite ein? Wenn die Tabelle sowieso auf jeder Seite gleich aussehen soll, warum dann nicht gleich mit konkreten Werten arbeiten.


Duddle
 

Isometric

Powerproster

AW: Maximale Stringlänge innerhalb eines Datensatzes bis zum Zeilenumbruch

Die feste Breite der Spalten ist sicher die einfachste Lösung, da meine Tabelle und die Adressen überschaubar sind und ich die Breite auch ändern kann, wenn einer mit einer Monsterstraßenlänge kommt.

Ich hatte gedacht, ich könnte einfach die Zeilenlänge mit "em" und irgendwelchen Faktoren multiplizieren und käme dann auf die Spaltenbreite. Das klappt aber nicht. :mad:

Die Parameter wie Schriftart und -größe oder padding und margins kann ich ja beeinflussen, indem ich sie in einer print.css festlege.

Die flexible Angabe der Spaltenbreite hätte den Vorteil, dass man geringe Abweichungen noch auffangen kann, wenn man die Seite beim Druck auf Seitengröße skaliert:
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben