Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP regex to remove multiple ?-marks

I'm having trouble coming up with the correct regex string to remove a sequence of multiple ? characters. I want to replace more than one sequential ? with a single ?, but which characters to escape...is escaping me.

Example input:

Is this thing on??? or what???

Desired output:

Is this thing on? or what?

I'm using preg_replace() in PHP.

like image 254
davr Avatar asked Sep 25 '08 22:09

davr


1 Answers

preg_replace('{\?+}', '?', 'Is this thing on??? or what???');

That is, you only have to escape the question mark, the plus in "\?+" means that we're replacing every instance with one or more characters, though I suspect "\?{2,}" might be even better and more efficient (replacing every instance with two or more question mark characters.

like image 96
pilsetnieks Avatar answered Sep 25 '22 13:09

pilsetnieks