2016-03-20 54 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'); 

?>