10文字以上の場合、9文字目を…にして残りを切り捨てる。
(半角、全角ともに1文字として扱う)
{if mb_strlen($keyword) > 9}
    {assign var=cutKeyword value=$keyword|mb_substr:0:8|cat:'…'}
{else}
    {assign var=cutKeyword value=$keyword}
{/if}
<a class="keyword-link" href="#" title="{$keyword}">{$cutKeyword}</a>
上記コードで各文字列を変換した場合。
(“→” は変換前後を表す)
12345678   → 12345678
123456789  → 123456789
123456789A → 12345678…
123456789          → 123456789
123456789A         → 12345678…