无法删除字符串中的第二个值实例

时间:2015-01-30 10:45:38

标签: php

我知道str_replace( )将删除字符串的实例。

但是我如何只删除字符串中的一个字符串实例。

下面是URL地址的示例,我只想删除exampleDirecotry /`

的第一个实例
www.example/exampleDirectory/exampleDirectory/index.php 

我需要先测试一下exampleDirectory /的两个实例,如果有,请删除其中一个。

$url  = www.example/exampleDirectory/exampleDirectory/index.php 

if ($url ==  ) 
{
  $newURL  = str_replace($url, "", "exampleDirectory/");

}

2 个答案:

答案 0 :(得分:2)

你犯了一个非常简单的错误,保罗。我也不时这样做。 适当的参数序列是:

str_replace($search, $replace, $subject)

最简单的方法:

$newURL = str_replace("/exampleDirectory/exampleDirectory", 
                      "/exampleDirectory", $url);

答案 1 :(得分:0)

您可以通过查找第一个子字符串的偏移量和长度来完成此操作。要检查这么多,您可以使用substr_count()

$search = "exampleDirectory/";
// check so the string exists more than once
if (substr_count($url, $search) > 1) {
  $length = strlen($search);
  $offset = strpos($url, $search);
  // replace the first occurance of the string
  $newURL = substr_replace($url, "", $offset, $length);
}