将字符串插入另一个字符串的特定部分

时间:2015-04-01 11:34:11

标签: php string

我有一个URL作为字符串,例如:

http://example.com/sub/sub2/hello/

我想在hello之前使用PHP添加另一个子文件夹,所以它应该如下所示:

http://example.com/sub/sub2/sub3/hello/

我考虑使用explode用斜杠分隔URL,并在最后一个之前添加另一个,但我很确定我过于复杂。有更简单的方法吗?

3 个答案:

答案 0 :(得分:1)

如果您的网址具有此特定格式,则可以使用以下网址:

$main_url = 'http://example.com/sub/sub2/';
$end_url_part = 'hello/';
$subfolder = 'sub3/';

if (isset($subfolder)) {
    return $main_url.$subfolder.$end_url_part;
} else {
   return $main_url.$end_url_part;
}

答案 1 :(得分:1)

explodespliceimplode

$str = "http://example.com/sub/sub2/hello/";
$str_arr = explode('/', $str);
array_splice($str_arr, -2, 0, 'sub3');
$str_new = implode('/', $str_arr);
// http://example.com/sub/sub2/sub3/hello/

答案 2 :(得分:1)

这应该适合你:

(这里我只是将额外的文件夹放在字符串的basename()dirname()之间,以便它位于网址的最后一部分之前)

<?php

    $str = "http://example.com/sub/sub2/hello/";
    $folder = "sub3";

    echo dirname($str) . "/$folder/" . basename($str);

?>

输出:

http://example.com/sub/sub2/sub3/hello