2012-12-05 127 views
0

我有一個適用於多種語言的網站,我正在尋找一個php函數來從多個語言的字符串中去除所有垃圾。刪除多語言字符串中的所有非字母字符

示例:我將以下內容插入到我的數據庫中,但是它的語言和其他語言相同。

कमबख़्तकोगालीभीसलीक़ेसेनहींदीजाती... \ '

所以你可以看到我正在...... \' 沒有被通緝人物。

這並不削減它的多語言

$newString = preg_replace('/[^a-z0-9]/i', ' ', $text); 

我也曾嘗試,我真的不明白是怎麼回事就在這裏也行不通。

$newString = preg_replace(''/^[\p{L}\p{M}\p{Nd}]{2,}$/u'', ' ', $text); 

我真的只需要去掉一切,那不是一個字母或即

[email protected]£$%^&*()_+=.<>/, etc etc 

鍵盤上的號碼我不知道是否該... \」的字符串心不是真的是什麼看起來如果這是有道理的,因爲如果我跑。

$newString = str_replace("...\'", "", $text); 

這是我第一次真正潛入多國語言。

+0

反斜槓從哪裏來?該用戶是否輸入了要清理的文本,或者不應該在那裏開始?可能**魔術引號**?找到來源,不要治癒症狀。 – deceze

+0

反斜槓是在一個RSS飼料,所以我想在輸出之前清理它 – user1503606

回答

3

我設法讓他們走出使用此:

$test = 'कमबख़्त को गाली भी सलीक़े से नहीं दी जाती...\\'; 
$test = preg_replace('@[^\x{0900}-\x{097F}]@u', '', $test); 

輸出

कमबख़्तकोगालीभीसलीक़ेसेनहींदीजाती 

正則表達式我用取代了不在該範圍內的Unicode字符所有。

+0

這是非常感謝 – user1503606

相關問題