タイトルからhtml削除する

ワードプレスPHPHTMLテンプレートタグプラグイン改行

ワードプレスのタイトル欄はテキスト入力フォームなので、HTMLタグを入れられます。

許可、不許可のタグ等調べたことは無いですが、brやspanは入りますね。

 

でも、管理者というか、テーマ制作者はとしては入れて欲しくないです。

タイトルはいろいろなところに登場するので、おかしなところで改行されたり変な色がついていたり。

アイコンを付けたり、矢印を付けたりする場合、「display: flex」とか書いてるともう完全にアウト。

 

ただ、「改行入れたのに改行されない!」「絵文字入れたのに表示されない!」とか怒られるのも嫌なので、こういうのは放置しています。

metaタグ

あと、metaタグに使う場合もあるのでこれはかなりマズイ。

この記事のタイトルはこうなっています。

タイトルから<span style="font-size: 200%;">html</span>を<span style="color: #F00;">削除</span>する

で、実際見事にメタがおかしくなってます。いました。

これはテーマの不具合と言えるので、下記のようなコードは見直さなくてはなりません。

<meta name="twitter:text:title" content="<?php the_title(); ?>" />

プラグインによっては

また、プラグイン「Search Everything」で、

「検索ワードにヒットしたら、そのワードに色を付ける」

と設定して検索すると、場合によってはmetaの構文が崩れて表示が乱れてしまう、ということがあり、

検索結果ページのメタにおかしなものを充てていることが見事発覚しました。

(固定ページと投稿シングル以外はサイトマップにも出力してないし、リンク張られることもないだろう、と思って分岐処理していないのでした。)

strip_tags()

こういった場合、「strip_tags()」でHTMLを削除するケースが多いと思います。

$title = get_the_title();
echo strip_tags( $title );

タイトルに限るならば、

$title = the_title_attribute( 'echo=0' );
echo $title;

これでも良いようです。(ワードプレスのテンプレートタグ)

知らなかった。