次のようなコードがあります。これはクラスを宣言し、その名前は取得した文字列に基づいています。ただし、問題は、PHPがクラス名として受け入れない不正な文字が文字列に含まれている可能性があることです。それで、クラス名として使用する前に文字列をサニタイズする良い方法はありますか?
$retrieved_string = 'some unformatted string; it may contain illegal characters to be passed as a class name.';
$strMyScript = basename(__FILE__, ".php");
$strMyScript = sanitize_variable($strMyScript);
$strClassName = sanitize_variable($retrieved_string);
eval('
class ' . $strMyScript . '_' . $strClassName . ' extends AnotherClass {
// some code here
}
');
funaction sanitize_variable($string) {
// sanitize the string
}