php preg_match或preg_replace保留单词(许多lang)和所有表情符号,但不保留特殊字符

时间:2018-08-15 01:19:25

标签: php preg-replace preg-match

在包含很多内容(文本,特殊字符,表情符号)的php字符串中,我要保留单词,数字和任何(所有)表情符号... ***注意:可以用任何语言朗读...中文,俄语,英语...

我要删除# @ - + = / \ | !@#$%?&*(){}[]~ \°|¬〜<>`

我尝试过

$string = 'ten=n%7B%7Dt 96 אתה это 的 ten(a)  ten[a] / | \ ten+a ten?allo=olla a,s a.l *f aa*d rr+rr aa-ss as;ss df:aa a's b"s 3@3 a$s a%a a&d ~xzdsad xzd°sad aa\dd hh|ss rr`jj     klo <big>< big> aaa¬dfs';

echo preg_replace('/[^\w*(x{1F600}-\x{1F999})]+/u','',rawurldecode($string));

我明白了 单词,(一些)表情符号和一些字符,例如*°〜{} 大多数表情符号都可以,但是有些表情符号可以给我(方框)

••表情符号的范围类似于Unicode U + 1F600,但有时带有字母U + 1F60D ...

如何改进preg_replace来解决此问题?

1 个答案:

答案 0 :(得分:0)

深入研究之后,我改变了策略,只删除了不需要的东西。

让我有更多控制权。

await dropbox.filesListFolder({path: '/posts'})