thman_get_limited_string

tn-mn

Grünschnabel
Ich weiß nicht genau wofür der folgende Code steht. Er ist aber dafür verantwortlich, dass bei Vor+Zuname der Zuname aus Platzgründen unter dem Vornamen landet, wenn der Vorname zum Beispiel 6 Zeichen lang ist und der Zuname 14 Zeichen beinhaltet. Bei kürzeren Nachnamen ist der Vor- und der Zuname nebeneinander.

PHP:
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php echo thman_get_limited_string($post->post_title,13); ?></a></h2>

Die Ausgabe sieht dann so aus:

Vornam
Zunameeeeeeeee...

Die Ausgabe kann aber auch so aussehen:

Vornam Zuname...

Meine Frage an euch:

Welcher Code ist erforderlich, um ein <br> unter Vor+Zuname zu erzeugen, wenn Vor+Zuname neben einander angeordnet sind?

Danke für jede Hilfe :).
 
Ichnehem mal an, der Name ist in $post->post_title gespeichert. Entweder du trennst diesen auf, oder du änderst dort wo der String erstellt wird.
PHP:
$text = "Vorname Nachname";
echo str_replace(' ', '<br />', $text);
 
Danke für deine schnelle Antwort! Jedoch habe ich meine Frage leider nicht präzise angegeben, deshalb konnte meine Frage nur fast beantwortet werden.

PHP:
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php echo str_replace(' ', '<br />', $post->post_title); ?></a></h2>

Dieser Code setzt ein <br /> nach jedem Wort.

Ausgabe:

Vornam<br />
Zuname<br />
Word3<br />
Word4

Frage:

Wie kann ich nun daraus folgendes Beispiel formen?

Beispiel:


Wenn ($post->post_title) ungekürzt 3 zeilig wäre, dann mache aus den 3 Zeilen 2 Zeilen. Aber wenn ($post->post_title) ungekürzt nur 1 zeilig wäre, dann füge ein <br /> ein damit es 2 zeilig wird. Es sollen also im jeden Fall 2 Zeilen werden.

Die Ausgabe sieht dann so:

Vornam Zuname<br />
Word3 Word4... (Wort 5 wurde nicht ausgegeben)

oder so aus:

Vornam Zuname<br />
<br />

Danke für jede weitere Hilfe :).
 
Hallo,

1. Mit explode splitten (evtl. auch Limit angeben)
2. Elemente zählen (wenn kein Limit angegeben)
3. Nach bestimmten Kriterien wieder zusammen setzen

Dein Auftrag ist immer noch etwas vage. Was soll passieren, wenn mehr als Elemente rauskommen würden?

Ich würde es evtl so machen:

PHP:
$out = "";
$elements = explode($post->title, ' ');
if(count($elements))
{
  $combined_elements = array_chunk($elements, 2, true);
  foreach( $combined_elements as $combined_element )
  {
    $out .= implode(' ', $combined_element) . '<br/>';
  }
}

echo $out;

oder so ähnlich.
 
Zurück