PHP Coder unter euch? (erledigt)
Samstag, 8.6.2013, 12:37 > daMaxHallo Crowd,
ich verwende seit vielen Jahren ein kleines Plugin namens "Shorten Link Text" um die Weiter- und Zurück-Links auf der Artikelseite zu kürzen. Leider hat dieses Plugin ein kleines Problem mit deutschen Umlauten.
![]()
Nun ist der eigentliche Plugincode recht übersichtlich und besteht im Endeffekt eigentlich nur aus diesen 2 Methoden:
function filter_shorten_linktext($linkstring,$link) {
if (get_option('shorten_linktext_toggle')=='yes') {
$characters = (int)get_option('shorten_linktext_characters');
$ellipsis = get_option('shorten_linktext_ellipsis');
preg_match('/(.*?)<\/a>/is',$linkstring,$matches);
$displayedTitle = $matches[1];
$newTitle = shorten_with_ellipsis($displayedTitle,$characters,$ellipsis);
// Strip all HTML tags:
$newTitle = strip_tags($newTitle);
return str_replace('>'.$displayedTitle.'<','>'.$newTitle.'<',$linkstring);
} else {
return $linkstring;
}
}
function shorten_with_ellipsis($inputstring,$characters,$ellipsis='...') {
return (strlen($inputstring) >= $characters) ?
substr($inputstring,0,($characters-3)).$ellipsis : $inputstring;
}
Das komplette Plugin gibt's hier. Hat jemand von euch eine Idee, wie man das Plugin dazu kriegt, Umlaute korrekt anzuzeigen?
Update: Hat sich dank DaDude erledigt:
Da hab ich ja grad zum richtigen Zeitpunkt zufällig vorbeigeguckt
function shorten_with_ellipsis($inputstring,$characters,$ellipsis=’…’) {
return (mb_strlen($inputstring) >= $characters) ?
mb_substr($inputstring,0,($characters-3)).$ellipsis : $inputstring;
}Nimmt man die mb_ string-functions, sollts auch mit MultiByte (UTF-8) chars tun…
Artikel als RSS


Da hab ich ja grad zum richtigen Zeitpunkt zufällig vorbeigeguckt
function shorten_with_ellipsis($inputstring,$characters,$ellipsis='...') {
return (mb_strlen($inputstring) >= $characters) ?
mb_substr($inputstring,0,($characters-3)).$ellipsis : $inputstring;
}
Nimmt man die mb_ string-functions, sollts auch mit MultiByte (UTF-8) chars tun...
Danke
Hört sich nach einer relativ aktuellen PHP-Version an, da ist einiges Porzellan zerscheppert worden mit 5.4.x Dude hats ja schon korrigiert.
Gruß, Frank