東港研究所給湯室-海のルアーフィッシング休憩室-

エントリー

2009年07月の記事は以下のとおりです。

[改造]タイトルの文字数を制御するスクリプト-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);で再度エンコードしてやればいいんですね。

以上!

UTF-8のencode、decodeで小一時間悩む-CGI,Perl

 先日、トップページをJavaScriptで自動書き換えするコードを公開しましたが、タイトルが長い場合にレイアウトを崩してしまう現象が発生しました。

 回避するためのコードを見つけるのにチョッと悩むw

UTF-8ベースだとlength、substrを使うと場合によっては文字化けしてしまう。

Win2000からは、UNICODEが標準とされたため、今まで作ってたEUCベースから転換しなければならないのかも。

少し脱線しましたが、UTF8を始めて扱って気が付いたんですが、EUC、SHIFT-JISは全角文字を2バイト、半角文字を1バイトで計算するだけど、UTF8で計算すると全角文字が3バイト、半角が1バイトなんだよね。

 技術的な事はググってくださいw


要するに、

1111 は4バイト
あいうえお は15バイトになってしまうわけで・・・
あ1も 4バイト

バイト数で区切ってしまうと端数が出てきて文字化けするみたいですね。 もう少し研究してみます(汗)

 

そこで一旦、UTF-8をデコードして計算後にエンコードする方法をとってみました。


utf8::decode($str);

utf8::encode($str);

これで、バイト数ではなく文字数をカウントして、SubStr関数を使えば、文字数で区切ることが可能となります。


忘れないように記録しておこう。

参考サイト


以上!

METAタグでキーワード設定-WebDiaryProのSEO対策

  • 2009/07/27 19:12
  • カテゴリー:SEO対策

WebDiaryProはデフォルトでSEO対策が少し甘いような感じです。

 Googleボット何かで引っかかりやすいように、メタタグ対策をしてみたいと思います。
 様々なブログでも対策が可能ですので、アクセスアップを目指すなら是非お勧めします。

 設定はいたって簡単、<head>~</head>内に次のタグを挿入するだけです。


<META name="keywords" content="釣り,ルアー,新潟県,ルアーフィッシング">
<META name="description" content="ルアーフィッシング。シーバス、イナダ、サワラ、アオリイカ、メバル、クロソイ情報">
<META name="robots" content="INDEX,FOLLOW">

"keywords" = 検索キーワード
"description" = サイトの紹介文
"INDEX,FOLLOW" = 検索ロボットへの下位ページへのアクセス許可


 このタグはあくまでも基本文であり、その他<H1>タグや<li>など複合的な要素も重要なようですが、検索ボットのアルゴリズムは非公開とされ謎です。

 まあ、やらないよりマシってところでしょうか。

ばらした?

せっかくのし?ばすが?


痛恨のバラシ!


フッコサイズだけど残念

あ?あ

あ?あ

せっかくヒットしたと思ったらダツ!


さあガンバロ

シーバスGet!

貧相なシーバスが喰ってくれました(^_^;)

とりあえず釣れて良かった(笑)

さて再開

ベイトの気配なし

異常なし!

岡に上がると暑い!

移動してみるかな

出撃

さ?て

久しぶりにフリーなんで徘徊しようかな

皆既日食

皆既日食見れましたか?


 いやー幻想的でしたね。


ファイル 40-1.jpg

雲の切れ間w

新潟県の皆既日食

  • 2009/07/22 07:37

 おはようございます。


 今日は46年ぶりの皆既日食とか。


 ちなみに新潟県の皆既日食情報は

 始まり 9時55分24秒
 最大 11時09分53秒
 終わり 12時24分41秒

 隠れる割合 68.6%

 晴天率 30%

 さて見れるかな?


 みんなで見ようぜ!

ページ移動

  • ページ
  • 1
  • 2
  • 3


ユーティリティ

検索

エントリー検索フォーム
キーワード

ページ

  • ページが登録されていません。

新着画像

Feed