2016-03-20 85 views
1

乾淨功能從字符串刪除特殊卡拉科特但功能還消除土耳其卡拉科特替換特殊字符(I,G,S,C,O)從字符串PHP從字符串

function clean($string) { 
    $string = str_replace(' ', ' ', $string); 
    $string = preg_replace('/[^A-Za-z0-9\-]/', ' ', $string); 

    return preg_replace('/-+/', '-', $string); 
} 

我該如何解決它?

+2

它完全符合您的要求 - 刪除任何不是A-Z,a-z,0-9或'-'的字符。嘗試告訴它不要刪除字母,例如。 '\ p {L}' –

+0

例如: 輸入文本:Lisedesınıfar'kad'aşım OUTPUT:Lisede S N˚FArkada的米 我需要:Lisedesınıfarkadaşım –

回答

3

添加要這些字符保持到浸漬料,也如果neededç我編輯你的代碼添加上例:

function clean($string) { 
    $string = str_replace(' ', ' ', $string); 
    $string = preg_replace('/[^A-Za-z0-9\-ığşçöüÖÇŞİıĞ]/', ' ', $string); 

    return preg_replace('/-+/', '-', $string); 
} 

測試:

$str='Merhaba=Türkiye 12345 çok çalış another one ! *, [email protected]_'; 
var_dump(clean($str)); 
//Output: string(57) "Merhaba Türkiye 12345 çok çalış another one " 
+0

謝謝我的朋友,你救我從大troble –

0

也許你可以試試:

function clean($string) { 
    $string = str_replace(' ', ' ', $string); 
    $string = preg_replace('/[^A-Za-z0-9ĞİŞığşçö\-]/', ' ', $string); 

    return preg_replace('/-+/', '-', $string); 
} 
0

你想替換哪些特殊字符? 也許是因爲除了......之外的所有東西都會更容易地改變清潔的範式。

<?php 

function garbagereplace($string) { 

$garbagearray = array('@','#','$','%','^','&','*'); 
$garbagecount = count($garbagearray); 
for ($i=0; $i<$garbagecount; $i++) { 
$string = str_replace($garbagearray[$i], '-', $string); 
} 

return $string; 
} 

echo garbagereplace('[email protected]#$text%^&*text'); 

?>