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

沖縄/大阪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

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

  関連記事

カスタムフィールドの画像をアイキャッチに自動登録

毎度おなじみ自分への忘備録です。   投稿時にカスタムフィールドの画像 …

カスタムフィールドの値をURL指定して記事をソートする

WordPressは記事ソートや抽出が中々優秀でして、URLから指定してあげるこ …

嫁の人用:WordPressで記事を取得、ループしたいときに-その1

WordPressの制御部分の基本です。 主にメインループの事を描かせていただき …

プラグイン無しで外部サイトのRSSを表示するRSSリーダー的なもの

外部RSS(ブログの新着記事)を読み込む案件があったので「プラグインでええよなー …

カスタム投稿を使うときのメモメモφ(..)

カスタム投稿タイプとは 通常の「投稿」「固定ページ」等とは違うタイプの投稿方法。 …

Instant WordPress入れてみる

Instant WordPressという、ネット上のサーバーではなくローカルPC …

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

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

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

不正アクセス・・・それはWEB黎明期から行われてきた悪しき犯罪。 これらと日々戦 …

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

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

別ページのカスタムフィールドの値を取りたいときー

トップページにカスタムフィールドの値を出したい時ってありますよね? そんな時は固 …