マジカルスリー・だいすけのなりゆき長者ブログ

沖縄/大阪WEB広告・ホームページ制作・印刷物制作 マジカルスリー 「福」代表のブログ

*

mb_substr()使ってもサムネイルの見出しがズレるじゃん!という話

      2020/03/01

またしても忘備録。

WordPressでよくある、こういう感じの記事表示方法。

文字制限をかけてあげないと枠内から文字が飛び出しちゃいます。

そんな時、mb_substr()関数使うことが多いと思います。

 

でも、mb_substr()関数だと半角も全角も1文字とカウントしちゃうので表示のズレが出てきてしまいます

そこでmb_strimwidth()を使いましょうという話です。

使い方はほとんど同じ。

 

<?php echo mb_strimwidth($post->post_title,0,10, "...", "UTF-8"); ?>

 

こんな感じで書きます。

例のとおりだと記事タイトル($post->post_title)を最初(0を指定)から10文字取り出して10文字超えたら「」を出してねって感じです。

 

mb_strimwidthは1バイト文字は1とカウントし、2バイト文字は2とカウントします。

mb_substrだと2バイト文字も1とカウントしますのでズレが出ちゃうんですね。

あれ?じゃあsubstr関数でよくね?って思ったあなたはなかなかデキる人(かも)!

substrだと半角が混じった文字が奇数個、かつ文末が2バイト文字の際、文字化けが生じます(2バイト文字が1バイトでぶった切られる)。

そのへんの処理をイイ感じにしてくれるのがmb_strimwidthです(詳細説明しろよ…)。

 

便利なので良かったら使ってみてくださいね~。

 - WordPressの事

Message

  関連記事

WordPressでよく使う新着記事表示のコード

ほんとによく使うので覚え書き。 ちなみにマルチサイトをまたがって新着を取得する場 …

WEBサイトのスクリーンショットをサムネイル化する

弊社の制作実績を登録していこうと思ったのですが、直近のものだけでも軽く30を超え …

All-in-One Event Calendarでエラー「イベントの取得中に何かがうまくいきませんでした。」

使い慣れないプラグインは変なことが起こるのでびっくりデスよ。 表題のエラーが起こ …

アーカイブページでタームごとに記事一覧を出力する

カスタム投稿の記事一覧を出したい ターム名1(カスタム投稿の「カテゴリ名」のよう …

WordPress HTTPSでリダイレクト

毎度おなじみ自分用の忘備録でございます。 まず前提条件として、「WordPres …

子カテゴリに親カテゴリのテンプレートを引き継がせる

WordPressって基本的に親カテゴリを指定すると、それにぶら下がっている子カ …

続・WordPress 不正アクセスとの飽くなき戦い

WordPressへの不正アクセスと引き続き戦う、だいすけです。こんにチワワ! …

テーマの自動アップデートがイヤな場合は

最近梅の花がとってもきれいに咲いてますね。 春の訪れを感じながら仕事に追われる「 …

GravatarでWordPressのアバターを作ろう

最近物忘れがヒドイ、だいすけです。 テーレッテレー!! ついこの前、ワードプレス …

PHPでページの一部の文言だけを更新する方法

サイトのページの一部だけをブラウザから更新したい、だけどCMSとか入れるほどでも …