16
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

htmlspecialchars関数が長いので便利な関数を作った

Last updated at Posted at 2015-04-03

XSS攻撃を防ぐためにhtmlspecialcharsを使うことが多いと思いますが、関数名が長く、しかも安全に使うにはオプションを指定しなければならない場合が多く、面倒です。

$安心文字列 = htmlspecialchars($あぶない文字列, ENT_QUOTES, 'UTF-8');

そんなわけで、HTMLのエスケープ処理を簡単安全に行う関数を作成しました。
こちらです。

function HTMLスペシャルキャラズ($str) {
  $search = ['&', '"', "'", '<', '>'];
  $replace = ['&', '”', '’', '<', '>'];
  return str_replace($search, $replace, $str);
}

使い方

$安心文字列 = HTMLスペシャルキャラズ($あぶない文字列);

メリット一覧

  • 関数名は13/16文字でなんと20%もの削減を実現。
  • &lt; や &gt; といった意味不明のエンティティ文字を使わず、変換後も分かりやすい文字列を保持。
  • ENT_QUOTES相当の処理を行い、オプションが不要に。
  • 文字コード…?
16
15
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?