PHPで全てのPOSTの値を一度でエンティティ化する方法

PHPでFormを使う PHP/MySQL

全てのPOSTの値を一度でエンティティ化

頻繁にPOSTの記述が出てくると、エンティティを忘れてしまうかもしれない。そこで、POSTに値があれば、全てエンティティ化してしまう処理を行う。 エンティティ化した値はPOST[キー]とおなじキーにして配列にセットしておく。

PHP


//仮のPOSTデータを配列にセット

$post = array();
$post = array(
	"id" => "2",
	"text" => 'じゃじゃじゃじゃーん<>n&"?記号いり',
	"next" => "next_page",
	"type" => "HTML",
);

POSTの値をエンティティ化して別の配列にセットする

PHP


if(isset($_POST)){
	$getPost =  Post_Htmlentities_ALL($_POST);//function_POSTの全エンティティ化する
}//

function Post_Htmlentities_ALL($post){
	$key_array = array();
	$key_array = array_keys($post);// 0=> "id",1=>"type"こういう値がセットされる

	$getPost = array();//配列セットする変数

	$sw = sizeof($post);//配列の要素をカウント
	for($i=0; $i < $sw ; $i++){
		//keyの取出し
		$key = $key_array[$i];

		//エンティティ化
		$getPost = array(
			$key => htmlentities($post[$key]) ,
		);
	}//end_for

	return $getPost;
}//end_function
//html_entity_decode() //エンティティデコード

PHP


	//実行結果 
	2
	&lt;p&gt;じゃじゃじゃじゃーん&lt;&gt;n&amp;&quot;?記号いり
	next_pag
	HTML
このretrnで返した配列をCookieに保存しておけば、呼び出しも簡単
タイトルとURLをコピーしました