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です(詳細説明しろよ…)。
便利なので良かったら使ってみてくださいね~。
関連記事
-
Lightbox系プラグイン「Easy FancyBox」
特に意識すること無くLightbox(ふわっと写真を別ウィンドウで表示する)を使 …
-
ページネーションがおかしいぞ?
とあるサイトで、ページ送りがおかしくなっていました。 具体的に言うと、本来6ペー …
-
WordPressサーバー移転の順序
自分用に備忘録。 FTPで元サイトをローカルにダウンロード PhpMysqlで元 …
-
PHPでページの一部の文言だけを更新する方法
サイトのページの一部だけをブラウザから更新したい、だけどCMSとか入れるほどでも …
-
Limit Login Attempts Reloadedとしてヤツが帰ってきた件
かんたん優秀なセキュリティ、「Limit Login Attempts」 Lim …
-
続・WordPress 不正アクセスとの飽くなき戦い
WordPressへの不正アクセスと引き続き戦う、だいすけです。こんにチワワ! …
-
Advanced Custom Fieldsで作ったカスタムフィールドの画像をアイキャッチ画像にする
カスタムフィールドで投稿した画像を自動でアイキャッチ画像にしたかったのですが、A …
-
WordPressの指定日時での部分表示
久しぶりにWordPressで少しハマったので忘備録です。 サイトの一部分だけ指 …
-
WordPress 不正アクセスとの飽くなき戦い
不正アクセス・・・それはWEB黎明期から行われてきた悪しき犯罪。 これらと日々戦 …
-
サムネイルをいちいち入れるのめんどくさい人に Default Thumbnail Plus
めんどくさがりやーな「だいすけ」です。 こんにちは。 WordPressのサムネ …