回首忆惘然
与我的其他答案完全相反,即使使用多字节字符,此后续功能也可能是安全的。// replace any non-ascii character with its hex code.function escape($value) { $return = ''; for($i = 0; $i < strlen($value); ++$i) { $char = $value[$i]; $ord = ord($char); if($char !== "'" && $char !== "\"" && $char !== '\\' && $ord >= 32 && $ord <= 126) $return .= $char; else $return .= '\\x' . dechex($ord); } return $return;}我希望比我自己更有知识的人可以告诉我为什么上面的代码行不通...