Widon't / Smarty

Widon’t heisst eine Umsetzung, die es verhindert, dass in einer längeren Überschrift nur das letzte Wort in eine andere Zeile umgebrochen wird, indem das letzte Leerzeichen durch ein nonbreaking space ersetzt wird.
Für WordPress gibt es da bspw. ein Plugin von Shaun Inman (Widon’t). Und in dem Beitrag findet man auch gleich einen regulären Ausdruck, der die Ersetzung übernimmt.

Und das macht man natürlich nicht nur aus Spass an der Freude, sondern weil’s echt nach Scheisse aussieht, wenn in einer Überschrift das letzt Wort in eine neue Zeile umbricht.

Der Smarty Modifier, den ich jetzt hier im Blog einsetze, liess sich somit tatsächlich in Sekunden erstellen. Wie man sich vorstellen kann, hat das Schreiben des Blogeintrags ungleich viel länger gedauert:)

modifier.widont.php:

/**
 * Smarty plugin
 * @package Smarty
 * @subpackage plugins
 */


/**
 * Smarty plugin
 *
 * Type:     modifier
 * Name:     widont
 * Date:     Jan 12, 2005
 * Purpose:  convert last space to nonbreaking space ( )
 * Example:  {$text|widont}
 * @param string
 * @return string
 */
function smarty_modifier_widont($string)
{
    return preg_replace( '|([^\\s])s+([^\\s]+)\\s*$|', '$1 $2', $string);
}

Einmal ins plugins Verzeichnis geworfen wird das Ganze dann wie jeder andere Modifier mit {$foo|widont} benutzt.