とあるweb屋の仕事術

とあるweb屋の仕事術

10年以上現役のweb製作屋さん。web製作雑務全部やる。

絶対に役に立つ。Webデザイナーが知ってるとはかどるPHP「strip_tags」HTMLタグを削除して出力

絶対に役に立つ。Webデザイナーが知ってるとはかどるPHP「strip_tags」HTMLタグを削除して出力

Webデザイナーが知ってるとはかどるPHPシリーズ、

知っていると得をする・役に立つ!

今回は「strip_tags」です。

 

動的なコンテンツを取り扱うwebサイトでは

いろいろな箇所にコンテンツを出力しますが、

ある場所に表示するときには、brタグ抜きで

素のプレーンなテキストで表示したいだとか、

出力した結果、HTMLタグ付きで出力されて

しまい都合が悪い場合があったりします。

 

たとえば、記事詳細ページのコンテンツ、

HTML/CSSで装飾された文章を、

記事の一覧ページではリードテキストとして表示したい

だとか、meta description に設定したいなどの場合。

プレーンなテキストで出力したい。

 

そんなときに重宝するのが「strip_tags」です。

たとえばこんなHTMLがあったします。

 

吾輩は猫である。

名前はまだ無い。

どこで生れたかとんと見当がつかぬ。

  

上記の文章はbold、改行、リンクで構成されたHTMLです。

このような HTML を description に設定したい場合、

「strip_tags」を使いプレーンなテキストとして出力できます。

 

<?php
  $article_detail = '<strong>吾輩は猫である。</strong><br>名前はまだ無い。<div>どこで生れたかとんと<a href="https://www.toaru.jp/">見当</a>がつかぬ。</div>';
  $meta_descripition = strip_tags($article_detail);
?>
<meta name="description" content="<?php echo $meta_descripition ?>">
 
$meta_descripition で出力されたHTMLは、
タグが削除されて、プレーンなテキストで出力されることになるので、
出力結果は、以下のとおり。

 

<meta name="description" content="吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。">

 

便利〜。

 

ちなみに特定のタグだけを削除することもできます。

 以下はbrタグ、divタグだけを削除した場合の例です。

 

<?php
  $article_detail = '<strong>吾輩は猫である。</strong><br>名前はまだ無い。<div>どこで生れたかとんと<a href="https://www.toaru.jp/">見当</a>がつかぬ。</div>';
  $lead_text = strip_tags($article_detail, '<br><div>');
?>
<?php echo $lead_text ?>
 
これの出力結果は、下記のようになります。
 
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。
<strong>吾輩は猫である。</strong>名前はまだ無い。どこで生れたかとんと<a href="https://www.toaru.jp/archive">見当</a>がつかぬ。
 
なかなか使いドコロある関数だとおもいます。
それではよきPHPライフを!
 
参考サイト