可変変数
ほうほう、と思った今日の可変変数。
<?php class Html { protected $_remove = array('', ''); protected $_removeToSearch = array('/\<\?php/', '/\?\>/'); public function getPattern($toSearch) { $toSearch = "_" . $toSearch . "ToSearch"; return $this->$toSearch; } public function getReplacement($toReplacement) { $toReplacement = "_" . $toReplacement; return $this->$toReplacement; } } ?>
コードの中にPHPタグが入っていたら削除する。
<?php $html = new Html(); $originalCode = '<?php die(); ?>'; $sanitizedCode = $html->preg_replace($tes->getPattern('remove'),$tes->getReplacement('remove'),$originalCode); ?>
可変変数のポイントは
public function getPattern($toSearch) {
$toSearch = "_" . $toSearch . "ToSearch";
return $this->$toSearch;
}
一度使いたい変数をreturnする前に作ってしまう、という事だった。以下だと動かない。
public function getPattern($toSearch) {
return $this->_" . $toSearch . "ToSearch";
}
という訳で、ほうほうと可変変数について一つ賢くなりました。