文字列からHTMLタグを取り除く javascript ライブラリ「striptags」の紹介です。
 

striptagsで出来ること

PHPの " strip_tags() " 関数 相当の機能が javascript で使える


striptagsのインストール

 stripgtags は npm 又は yarnを使って入手します。また、ブラウザから使う場合はCDNを通してライブラリを読み込むことも可能です。

# npm
npm install striptags --save
# yarn 
yarn add striptags
# cdn *IE 11以上
https://unpkg.com/striptags


striptagsの使い方

striptags の使い方は簡単で、PHPの ' strip_tags ' 関数と 使い方は変わりません。

第一引数に元となる文字列を指定すると、HTMLタグが消去されます。

// ブラウザの場合、そのまま striptags()関数が呼び出せます
const striptags = require("striptags");

let baseHtml =
  "<div href='someClass'>" +
  "<strong>stripgtags</strong> を 使った<i>テスト</i>" +
  "</div>";

// output: stripgtags を 使ったテスト
striptags(baseHtml);


第二引数で保持したいHTMLタグを指定することも出来ます。

const striptags = require("striptags");

let baseHtml =
  "<div href='someClass'>" +
  "<strong>stripgtags</strong> を 使った<i>テスト</i>" +
  "</div>";

// output: <strong>stripgtags</strong> を 使ったテスト
striptags(baseHtml, "<strong>")


第二引数の許可タグを配列で渡すことで、許可する複数タグを一度に指定することもできます。

const striptags = require("striptags");

let baseHtml =
 '<div href="someClass">' +
 '<strong>stripgtags</strong> を 使った<i>テスト</i> ' +
 '</div>' +
 '<script>'+
 ' console.log('js injection')' +
 '</script>';

// 許可するタグ
let whiteListTags = ['strong', 'i']

striptags(baseHtml, whiteListTags);

// output
//<strong>stripgtags</strong> を 使った<i>テスト</i>
//  console.log('js injection')


第三引数では置き換えたい文字列を指定できます。
( 下のスニペットは改行を指定 )

const striptags = require("striptags");

let baseHtml =
  "<div href='someClass'>" +
  "<strong>stripgtags</strong> を 使った<i>テスト</i>" +
  "</div>";

// output:
// <strong>stripgtags</strong> を 使った
// テスト
striptags(baseHtml, "<strong>", "\n")


Summary

 以上が stripgtags の紹介でした。フォームから送信するPOSTデータからhtmlタグを取り除くとき、Webスクレイピングで取得したタグのデータを加工する時に使うと便利そうです。

GitHub : ericnorris/striptags

 

この記事のカテゴリ

プログラミング

この記事のタグ

nodejs , PHP , jsライブラリー

Socialシェアボタン

スポンサーリンク