php正则表达式替换问题

请教各位一个php问题:

$data = '测试123=,';
$pattern = "/[^\x{4E00}-\x{9FFF}0-9-]+/u";
$msg = preg_replace($pattern, '', $data);

我使用以上正则表达式替换所有非中文的为空格,如果我想排除某个特定的符号(比如=)不进行替换应该怎么写呢

$data = '测试123=,';
$pattern = "/[^\x{4E00}-\x{9FFF}0-9-=]+/u";//不想被替换就在里面加呀,不加载这里面就是都被替换了,这个正则是把非中文,数字,-,=这些以外的都替换掉
$msg = preg_replace($pattern, '', $data);
echo $msg;

这种一般可以这样
1,正则表达式去好好看下 应该可以进行排除的
2,把需要不替换的先用某个生僻中文替换,然后操作完成后再进行换回来

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^