HTMLソースから、HTMLタグをすべて取り除きたい場合、Perlなら正規表現を使って簡単に処理できます。
にしし ふぁくとりー

にししの Perl/CGI Tips ふぁくとりー

にししふぁくとりーPerl/CGI Tips → このページ

文字列操作関連TIPS

HTMLタグを取り除く

HTMLソースから、HTMLタグをすべて取り除きたい場合、Perlなら正規表現を使って簡単に処理できます。

SOURCE 1

HTMLタグは、「 < 」で始まって「 > 」で終わります。この間の文字列をすべて削除すれば良いわけですね。
$source =~ s/<.*?>//g;
変数 $source に、HTMLソースが含まれていると考えて下さい。すると、上記のたった1行のコードで、ソース中のすべてのHTMLタグを削除することができます。驚きですね〜。

説明

上記の正規表現 <.*?> で、タグを表現しています。
最初に「 < 」が、最後に「 > 」がありますね。その中に「.*?」とあります。 「.*」は任意の文字列に一致します。どんな文字にも一致するわけです。その後に「?」があるので、そのうちの「最小の長さのもの」に一致します。
総合すると、「 < 」〜「 > 」で囲まれた任意の文字列のうち最も短いものに一致するわけです。
それを削除しているわけです。
※「?」がないと、ソース先頭の「 < 」とソース末尾の「 > 」に一致してしまい、ソース全部がまるごと削除されてしまいます。ですから、「?」は絶対必要です。
最後の「g」は、一致するものが複数個ある場合、それら全てに対して置換を行わせる指示です。これがないと、最初の1つのタグだけしか消せません。

SAMPLE SOURCE

ソースコード13 , 出力結果13
2004/03/01. Mon.

このページに記載の内容は、必ずしも正しいとは限りません。ご注意下さい。
もっと良い方法がありましたら、ぜひ、教えて頂けるとありがたいです。
製作者にししへのご連絡は、メールなどでお送り下さい。匿名のコメントも送信できます。
どのページへもリンクは歓迎します。複製・転載はご遠慮下さい。