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

沖縄/大阪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で自動ログアウトを

本当に自分のための覚え書きになっている当ブログです。こんにちは。 自動ログアウト …

WordPressで会員サイト的なものを作りたい

WordPressで会員サイト的なものを作る と言う題目で幾つか記事があったんで …

Redirectionプラグイン:REST APIの検索で止まる

久しぶりのWordPress忘備録。 Redirectionプラグインを初期設定 …

WordPressで記事のカルーセルスライダー(jQuery的なスライドショー)

WordPressがそれなりにいじれると分かってから、嫁様の私への”こき使いっぷ …

Gist、いいね!

コード見せたいンゴ・・・ WordPressのことでよくコードをお見せする機会が …

get_postsの初期値が5件だった件

もう、表題のとおりなんですが忘備録。 WordPressのget_postsの初 …

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

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

WP_Queryの使い方

WP_Queryの使い方はちょくちょく忘れますので忘備録。 WP_Queryの使 …

タクソノミー(ターム)の記事一覧を出したい!

あれ?archive.phpで表示してる・・・? WordPressでカスタムタ …

WordPressの管理画面が重くなったら(WPML使用サイト向け)

はっきりとした原因は不明なのですが、WPMLを入れていたWordpressサイト …