替换PHP的多个实例

| 我只是想知道如何使用php替换一个的多个实例, 例如说我有
test----test---3
我该怎么做才能将多个实例替换为1,所以它将是
test-test-3
谢谢 :)     
已邀请:
删除所有重复的字符:
$string = \'test----test---3\';
echo preg_replace(\'{(.)\\1+}\',\'$1\',$string);
删除特定的重复字符:
$string = \'test----test---3\';
echo eregi_replace(\"-{2,}\", \"-\", $string);
以“丑陋”的方式删除特定的重复字符:
$string = \'test----test---3\';
echo implode(\'-\',array_filter(explode(\'-\',$string)));
所有摘录的结果:
test-test-3
    
嗯...
function replaceDashes($str){
    while(strpos($str,\'--\')!==false)
        $str=str_replace(\'--\',\'-\',$str);
    return $str;
}
您可以使其“更快”地进行替换:
        $str=str_replace(\'--\',\'-\',$str);
带有:
        $str=str_replace(array(\'----\',\'---\',\'--\'),\'-\',$str);
    
由于eregi_replace和ereg_replace在PHP5中已贬值,因此您也可以尝试
preg_replace(\"/-{2,}/\", \"-\", $string);
所以如果你跑
preg_replace(\"/-{2,}/\", \"-\", \"--a--b---c----\")
它将返回   -a-b-c-     

要回复问题请先登录注册