PHP正则表达式删除多个?标记

dav*_*avr 5 php regex escaping

我在找到正确的正则表达式字符串以删除多个序列时遇到问题?字符.我想替换多个顺序?有一个?,但哪些角色逃脱...正在逃避我.

输入示例:

这件事是??? 或者是什么???

期望的输出:

这个东西开始了吗?或者是什么?

我在PHP中使用preg_replace().

pil*_*eks 9

preg_replace('{\?+}', '?', 'Is this thing on??? or what???');
Run Code Online (Sandbox Code Playgroud)

也就是说,你只需要逃避问号,"\?+"中的加号意味着我们用一个或多个字符替换每个实例,但我怀疑"\?{2,}"可能更好,更高效(用两个或更多个问号字符替换每个实例.