function cleanseMessage($message) {// 定义特殊字符的正则表达式$pattern = '/[[:^print:]]/';// 使用正则表达式替换特殊字符为空字符串$cleanedMessage = preg_replace($pattern, '', $message);return $cleanedMessage;
}// 假设接收到的MQTT消息是:
$rawMessage = "Hello, this is a test message with some special characters: #$%^&*()!";// 清理消息中的特殊字符
$cleanedMessage = cleanseMessage($rawMessage);// 输出清理后的消息
echo $cleanedMessage;
这个函数cleanseMessage
使用了正则表达式[[:^print:]]
来匹配所有非可打印字符,然后用preg_replace
函数将它们替换为空字符串。这样就可以去除消息中的特殊字符,保留可打印的字符。