WordPressで記事の概要を文字数指定して、更に改行コードを削除する
- 2014/07/16
WordPressで記事の概要を指定する場合、the_excerpt() を使うと、段落のPや改行が出力されてしまう。
そんなソースコードを見てしまうと、あまり気持ちの良いものではないので、タグと改行コードを削除しつつ文字数を指定して出力する方法です。
HTMLのタグを削除する時に、strip_tags()とhtmlspecialchars()ではどちらを使う方がいいのかな?と思いましたが、「PHPで出力するときの注意(strip_tagsじゃなくhtmlspecialcharsを使おう的な)」という記事を見てhtmlspecialchars() にしてみました。
<?php $excerpt = htmlspecialchars($post->post_content,ENT_QUOTES,"UTF-8"); $excerpt = str_replace(array("\r\n","\r","\n"), '', $excerpt); $excerpt = mb_substr($excerpt, 0, 60) . "…"; ?> <meta name="description" content="<?php echo $excerpt; ?>">
htmlspecialchars()を使ってタグを除去します。
文字コードの指定は、自分の環境に合わせます。
str_replace()を使って改行を置き換えています。
mb_substr()を使って文字数を指定しています。
0文字目から60文字目までを取り出します。
出力する文字数を変更したい場合は、この60を変更してください。
最後に、文字列連結演算子(.)を使って最後に「…」を追加しています。
不要の場合は削除します。