我只是想知道如何使用php替换多个实例 -
例如说我有
test----test---3
我可以做什么来替换多个实例 - 只有1,所以它将是
test-test-3
谢谢:)
答案 0 :(得分:6)
删除所有重复字符:
$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
答案 1 :(得分:2)
...嗯
function replaceDashes($str){
while(strpos($str,'--')!==false)
$str=str_replace('--','-',$str);
return $str;
}
你可以“更快”地取代:
$str=str_replace('--','-',$str);
使用:
$str=str_replace(array('----','---','--'),'-',$str);
答案 2 :(得分:0)
由于PHP5中不推荐使用ereg_replace和ereg_replace,您也可以尝试
preg_replace("/-{2,}/", "-", $string);
所以,如果你运行
preg_replace("/-{2,}/", "-", "--a--b---c----")
它会返回
-a-b-c-