Hallo,
vor einiger Zeit wurde mal die Frage nach einem Filter gestellt, der lange
Wörter umbricht. Gerade bei eingebundenen RSS-Feeds kommt es schonmal vor,
dass Text aus dem Layout rausbricht. Um dies zu vermeiden hilft folgender
Filter, der die Zeichen pro Zeile auf 20 begrentzt und dann einen brutalen
Umbruch vornimmt.
So wird aus:
Beispieltext_für_einen_Umbruch_mit_langen_Wörtern
folgender Text:
Beispieltext_für_ein
en_Umbruch_mit_lange
n_Wörtern
Der Filter sieht in einer Syndic-Schleife bspw. so aus:
<BOUCLE_studrub(SYNDIC_ARTICLES) {id_syndic=1}>
<p><a href="#URL_ARTICLE"><strong>[(#TITRE|text_umbrechen)]</strong></a></p>
</BOUCLE_studrub>
Dies ist der korrespondierende php-Code aus der mes_options.php3.
function text_umbrechen($text, $size = 20) {
$new_text = '';
$text_1 = explode('>',$text);
$sizeof = sizeof($text_1);
for ($i=0; $i<$sizeof; ++$i) {
$text_2 = explode('<',$text_1[$i]);
if (!empty($text_2[0])) {
$new_text .= preg_replace('#([^\n\r .]{'. $size .'})#i', '\\1 ',
$text_2[0]);
}
if (!empty($text_2[1])) {
$new_text .= '<' . $text_2[1] . '>';
}
}
return $new_text;
}
Natürlich ist der Umbruch nicht der allerschönste, aber schon besser als ein
Ausbrechen des Layouts.
Viele Grüße
jonas