COWAZA

  • 2020.05.21

PHPでタグを消し去る

たとえばHTMLタグの付いた記事の抜粋をトップページに表示する場合、そのままだとタグが邪魔になってしまうので、タグを消してしまう方法です。

Aタグを消す

$blog_contentにHTMLタグの付いた記事が入っている場合

$blog_content = preg_replace('/<a .*?>(.*?)<\/a>/',"",$blog_content);

PHPのpreg_replace

/<a .*?>(.*?)<\/a>/ →Aタグの始まりから終わりまでを
"" →空にしています

Aタグの始まりから終わりまでを、異なる文字列に変更することも

/<a .*?>(.*?)<\/a>/ →Aタグの始まりから終わりまでを
"空ですよ" →空ですよという文字に変更

Aタグの中の文字列は残したい

以下の記述でAタグの中の文字列が残ります。

$blog_content = preg_replace('/<a .*?>(.*?)<\/a>/',"$1",$blog_content);

IMGタグを消す

IMGタグが邪魔になることが多いです。以下の記述でIMGタグを消し去ります。

$blog_content = preg_replace('/<img(.+?)>/',"",$blog_content);

タグを全て消す

全て消すならstrip_tags

$blog_content= strip_tags($blog_content);

リンク

php/preg_replace

php/strip_tags

%d人のブロガーが「いいね」をつけました。