Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 替换字符串的第二个实例_Php_String_Instance - Fatal编程技术网

Php 替换字符串的第二个实例

Php 替换字符串的第二个实例,php,string,instance,Php,String,Instance,我只是想知道如何在php中替换字符串中的第二个字符串实例,如下所示: a - b - c 它将在第二个“-”后添加一个额外的空格,但仅当它找到2时。使用strpos从第一个破折号的索引开始对字符串进行子串,然后对字符串的其余部分执行str_replace。将两者连接在一起。+1--发布了相同的回复(现已删除),但为时已晚:)。不过,您想更正最后一行。比如,$result=内爆(“-”,$finds);哈哈,是的,我已经不得不编辑bc了,我错过了爆炸lol中的第二个arg。 $finds = e

我只是想知道如何在php中替换字符串中的第二个字符串实例,如下所示:

a - b - c

它将在第二个“
-
”后添加一个额外的空格,但仅当它找到2时。

使用
strpos
从第一个破折号的索引开始对字符串进行子串,然后对字符串的其余部分执行
str_replace
。将两者连接在一起。

+1--发布了相同的回复(现已删除),但为时已晚:)。不过,您想更正最后一行。比如,$result=内爆(“-”,$finds);哈哈,是的,我已经不得不编辑bc了,我错过了爆炸lol中的第二个arg。
$finds = explode('-', "a - b - c");
if (count($finds) == 3) {
  $finds[2] = " {$finds[2]}";
}

$finds = implode('-', $finds);
$str ="a - b - c";    
if (substr_count($str,"-")>2){
  print preg_replace("/^(.*)-(.*)-(.*)/","\\1-\\2- \\3",$str);
}
**// 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