記事の概要をdescriptionに設定する。(改)

Facebookとかで”いいね!”をすると、そのページのdescriptionが表示されるようです。
せっかくなので、記事ごとにdescriptionを設定しようと思い、
WordPressワードプレスで記事の概要をdescriptionに設定する方法
のコードをまんま、コピーアンドペーストしたのですが、シンタックスハイライターを等でショートコードを使っていると、それがそのまま出力されてちょっと切ない事になってしまいました。

なので、それに対処してみました。

[php]
<?php if ( is_single() ) { // 単独記事ページの場合 ?>
<?php if ($post->post_excerpt){ ?>
<meta name="description" content="<? echo $post->post_excerpt; ?>" />
<?php } else {
$summary = strip_tags($post->post_content);
$summary = preg_replace("/\[[a-z,\/]*\]|\n|\r/", "", $summary);
$summary = mb_substr($summary, 0, 80). "…"; ?>
<meta name="description" content="<?php echo $summary; ?>" />
<?php } ?>
<?php } else { // 単独記事ページ以外の場合 ?>
<meta name="description" content="<?php bloginfo(‘description’); ?>" />
<? } ?>

[/php]

str_replaceだったのを、preg_replaceにして、ショートコード全般と、改行を取り去るように書き換えただけです。

正規表現を少し覚えると、色々悪さができて楽しいですね。