php spot
phpが使えるレンタルサーバー特集
検索グラス
トップページへ

配列データに一気にhtmlspecialcharsをかける
htmlspecialchars はタグをサニタイズしてくれる非常に便利な関数ですが、この関数は配列にかけることは出来ません。
そこで、array_mapです

$array = array("<b>a</b>","<span>name</span>");
$array2 = array_map('htmlspecialchars', $array);

(注意) このままでは問題があります。ページ下部を参照。

これにより、$array で渡されたデータに対してすべて htmlspecialchars をかけた配列を $array2 に入れることができます。

array_mapの引数に使えるのは htmlspecialchars だけでなく、自分で定義した関数なども適用できます。

htmlspecialchars では、普通に使った場合はシングルクオートをエスケープしてくれないので、次のように使うのがセキュリティ的によいでしょう。

<?php
function myhtmlspecialchars($string) {
    if (
is_array($string)) {
        return 
array_map("myhtmlspecialchars"$string);
    } else {
        return 
htmlspecialchars($stringENT_QUOTES);
    }
}
?>

スポンサードリンク



PHPサンプル集
管理人の新着ブログ記事

    プライバシーポリシー | お問い合わせ
copyright © 2003-2024 phpspot all rights reserved. powered by phpspot CMS.