我只是想知道如何在php中替换字符串中的第二个字符串实例,如下所示:
a - b - c
在第二个“-
”之后添加额外空格的地方,但仅在它找到2时才会添加。
答案 0 :(得分:7)
$finds = explode('-', "a - b - c");
if (count($finds) == 3) {
$finds[2] = " {$finds[2]}";
}
$finds = implode('-', $finds);
答案 1 :(得分:1)
$str ="a - b - c";
if (substr_count($str,"-")>2){
print preg_replace("/^(.*)-(.*)-(.*)/","\\1-\\2- \\3",$str);
}
答案 2 :(得分:1)
**// User Function to replace string by Occurance**
function str_occ_replace($from,$to,$subject,$occ){
$myArray = explode($from,$subject);
print_r($myArray);
$mystring = '';
$index = 1;
foreach($myArray as $ele){
if($index !== $occ AND $index !== $arraySize)
$mystring .= $ele.$from;
else if($index !== $arraySize)
$mystring .= $ele.$to;
$index++;
} // End of Foreach
return $mystring;
} // End of Function
答案 3 :(得分:0)
使用strpos
从第一个短划线的索引处开始子串,然后对其余字符串执行str_replace
。将两者连接在一起。