ソーシャル・マーケティング協会 代表理事 白鳥友康の公式ブログ。Facebook、Twitter、YouTube、LINEなど、ソーシャルメディアを活用、集客する方法を無料でお届け。

ソーシャル★マーケティングの教科書 改訂版

JavaScriptでマルチバイト文字列を決まった長さで省略する方法

 投稿日時:
 最終更新日時:2015/03/16 20:03

この記事は約 2 分で読めます。

大丈夫、あなたなら出来る! 
ソーシャル・マーケティング協会 代表理事の白鳥友康です。

ブログの「続きを読む」みたいなことを、JavaScriptで実現する方法です。

デザインの都合でエリアに入力できる文字数が決まっていて
マルチバイトで○文字分みたいな切り出しをしたい場合があります。

でもマルチバイトとシングルバイトが混合している文字列の場合、
JavaScriptだと、これがなにげに難しかったりしますね。

そんなときはに役立つサンプルスクリプトです。

 

/**
文字列を省略する

@arg text 省略する文字列
@arg len 半角文字数で指定
@arg truncation 省略時の文字列
*/
function substr(text, len, truncation) {
	var count = 0;
	var str = '';
	for (i=0; i
		n = escape(text.charAt(i));
		if (n.length < 4) count++; else count+=2;
		if (count>len) {return str+truncation;}
		str += text.charAt(i);
	}
	return text;
}

カテゴリ - ◆ウェブサイト・ホームページ制作, ◇個人的めも
タグ - 

無料プレゼント

【Web担当者向け】SNS集客の全体像を55分で把握できる動画

受講料50万円で提供していた【ソーシャル・マーケティング認定コンサルタント養成講座】のエッセンスを凝縮した動画を無料プレゼントしています。

ダウンロードはこちら

  関連記事

post_h268_20130103
Facebookだけじゃダメ。他のメディアも使わないと!

Facebookを活用して集客することはもちろん可能ですが、Facebookは他のメディアと組み合わせてこそ、その本領を発揮しま…

Zemanta Related Posts Thumbnail
内部SEO対策:<title>タイトルタグについて(4)

―知っておきたいSEO対策の基礎2 目次1 よくある間違い1.1 すべてのページに同じのタイトルを設定している1.2 企業名だけ…

no image
ホームページ作成用語集:Flash

Adobe Flash、略してFlash。 アドビシステムズ (Adobe Systems) が開発した、動画などのリッチコンテ…

スマートフォン
これが、最適化されたスマホ版サイトだ。

ホームページのスマホへの対応も無視できないレベルになってきました。画面の大きさ、入力方法の違い、などなど、スマホで閲覧した時に快…

2015-06-12_210958
【制作事例】 吉方位引越し!ハッピー☆エナジー方位盤|ハッピー☆エナジー

吉方位引越し!ハッピー☆エナジー方位盤|ハッピー☆エナジー ★ウェブサイト制作・デザイン・HTMLコーディング・Google M…

email icon post sign
エントリーフォーム最適化(EFO)でお問い合わせの数を増やす。その1

ウェブサイトの改善では「入口」と「出口」を最適化することが最も重要です。「入口」の話は、SEOやら、PPCやら、いろいろあるので…

no image
ホームページ作成用語集:JavaScript(ジャバスクリプト)

ホームページに様々な機能や動きを加えるために使われるプログラム言語。HTMLファイルの中に直接記述したり、別途作成した.jsファ…

no image
リンクに良く使われている「>>」記号をHTMLで表示する方法

リンクの部分に「»」という記号を「>>」のように2文字ではなく、1文字で表示したい。 そんなときには。 …

Zemanta Related Posts Thumbnail
新機能で検索結果をカスタマイズ:ウェブ検索でもスター機能

Gooogleの検索結果が変わりましたね。 検索結果の上位に 「○○ のスター付き検索結果」 という項目が追加されています。 G…

Logo Garden
素人でも簡単にロゴが作成できる便利なサービス

何かのサービスを立ち上げるの時には、ロゴが必要になることが多いので、こういったサービスは嬉しいですね。ある程度のデザインセンスは…