我有一个适用于多种语言的网站,我正在寻找一个php函数来从多个语言的字符串中去除所有垃圾。
示例:我在hindi中将以下内容插入到我的数据库中,但对于其他语言则相同。
कमबख़्तकेगालीभीसलीक़ेसेननींदीजाती... \'
所以你可以看到我得到了不想要的...... \'字符。
这并没有削减多种语言
$newString = preg_replace('/[^a-z0-9]/i', ' ', $text);
我也试过了,我真的不明白这里发生了什么也没有用。
$newString = preg_replace(''/^[\p{L}\p{M}\p{Nd}]{2,}$/u'', ' ', $text);
我真的只需要删除键盘上没有字母或数字的所有内容,即
!@£$%^&*()_+=.<>/, etc etc
我不确定字符串中的...... \'是否真的如果它有意义,因为如果我跑了。
$newString = str_replace("...\'", "", $text);
这是我第一次真正深入了解多种语言。
答案 0 :(得分:3)
我设法用它来解决它们:
$test = 'कमबख़्त को गाली भी सलीक़े से नहीं दी जाती...\\';
$test = preg_replace('@[^\x{0900}-\x{097F}]@u', '', $test);
<强>输出强>
कमबख़्तकोगालीभीसलीक़ेसेनहींदीजाती
我使用的正则表达式替换了不在该unicode范围内的所有字符。