エントリー

[改造]タイトルの文字数を制御するスクリプト-WebDiaryPro

先日は苦労の末、UTF-8の文字数orバイト数のカウントに小一時間悩みましたが、何とか解決。

 
 さて、WebDiaryProでは、タイトルをJavaScriptで書き出す機能がありますので、非常に重宝しますが、記事のタイトルが長い場合に、全体のレイアウトを崩していしまう現象が起きます。

 そこで、タイトルが一定の長さ以上になった場合に、一部を省略するように改造してみたいと思います。

例(9文字後は省略)
「長すぎるタイトルを省略するスクリプト」

「長すぎるタイトルを....」

こんな感じですね。 


 長いタイトルを短くするスクリプトです。


lib/webliberty/app/diary.pm

1893行目付近


open(FH, "$self->{init}->{data_diary_dir}$entry") or $self->error("Read Error : $self->{init}->{data_diary_dir}$entry");
while () {
chomp;
my($no, $id, $stat, $break, $comt, $tb, $field, $date, $name, $subj, $text, $color, $icon, $file, $host) = split(/\t/);

if (!$stat) {


open(FH, "$self->{init}->{data_diary_dir}$entry") or $self->error("Read Error : $self->{init}->{data_diary_dir}$entry");
while () {
chomp;
my($no, $id, $stat, $break, $comt, $tb, $field, $date, $name, $subj, $text, $color, $icon, $file, $host) = split(/\t/);


utf8::decode($subj);
if (length $subj >= 14){$subj = substr($subj,0,14)."...."}
utf8::encode($subj);

if (!$stat) {

 この改造スクリプトでは14文字以上になった場合15文字目から削除するようになっています。

 文字数を変更したい場合は、下線部分(14)の部分を変更してください。

utf8::decode($subj); でデコードしてutf8::encode($subj);で再度エンコードしてやればいいんですね。

以上!

ページ移動

トラックバック

  • トラックバックはまだありません。

トラックバックURL

https://s-fishing.com/resthouse/trackback/35

関連エントリー

  • 関連エントリーはありません。

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
登録フォーム
名前
メールアドレス
URL
コメント
閲覧制限

ユーティリティ

サイト内検索

ありがとうございます

新着画像

過去ログ

Feed