php preg_replace with Unicode chars

2020-03-30 09:41发布

问题:

I've a question similar this question: php preg_replace

In that question, He/She want to allow only letters and numbers and _, but I want to allow only numbers, letters and Unicode (non-latin) letters and numbers (I think, I should use the Unicode values of this (for example U+1F70)).

What can I do? Thanks ...

回答1:

Instead of listing the unicode ranges yourself, you should use an Unicode character class as explained here: http://www.regular-expressions.info/unicode.html#block

preg_replace('/[^\w\d\p{L}]/u', "", $str);

If you repeatedly try to construct or decipher regexps, don't forget to check out Is there anything like RegexBuddy in the open source world? for utilities that help with that.