我有类似下面这样的代码,声明了一个类,它的名称基于一个检索到的字符串。但问题是该字符串可能包含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
}
[_a-zA-Z][_a-zA-Z0-9]*
- user529758