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でプラグイン無しサイトマップ
【WordPress】プラグイン無しでサイトマップを追加する方法。 コードのみで …
-
-
サイトに重大なエラーがありました。と出てきて顔面蒼白になる
WordPressを使っていると稀にこの事象に出くわします。 バックアップが運良 …
-
-
Sugar Events Calendar Lite 中国語化
以前のブログの再掲載です(なくなると困る記事なので・・・) Sugar Even …
-
-
タクソノミー(ターム)の記事一覧を出したい!
あれ?archive.phpで表示してる・・・? WordPressでカスタムタ …
-
-
アーカイブページでタームごとに記事一覧を出力する
カスタム投稿の記事一覧を出したい ターム名1(カスタム投稿の「カテゴリ名」のよう …
-
-
プラグイン無しで外部サイトのRSSを表示するRSSリーダー的なもの
外部RSS(ブログの新着記事)を読み込む案件があったので「プラグインでええよなー …
-
-
WordPressサーバー移転の順序
自分用に備忘録。 FTPで元サイトをローカルにダウンロード PhpMysqlで元 …
-
-
カスタムフィールドの画像をアイキャッチに自動登録
毎度おなじみ自分への忘備録です。 投稿時にカスタムフィールドの画像 …
-
-
カスタムフィールドの値をURL指定して記事をソートする
WordPressは記事ソートや抽出が中々優秀でして、URLから指定してあげるこ …
-
-
WordPressの検索欄が未入力で全件表示してしまう件
間違えて空欄で検索した時に全件表示・・・。 バグでもエラーでもないんですがなんか …