我有一個URL作爲一個字符串的特定部分,例如:字符串插入另一個字符串
http://example.com/sub/sub2/hello/
我想另一個子文件夾添加到它用PHP,hello
之前,所以應該是這樣的:
http://example.com/sub/sub2/sub3/hello/
我想過使用爆炸由斜槓的URL分開,並把最後一個前一個又一個,但我敢肯定,我在複雜了。有更容易的方法嗎?
我有一個URL作爲一個字符串的特定部分,例如:字符串插入另一個字符串
http://example.com/sub/sub2/hello/
我想另一個子文件夾添加到它用PHP,hello
之前,所以應該是這樣的:
http://example.com/sub/sub2/sub3/hello/
我想過使用爆炸由斜槓的URL分開,並把最後一個前一個又一個,但我敢肯定,我在複雜了。有更容易的方法嗎?
這應該爲你工作:
(在這裏,我只是把額外的文件夾放在字符串的basename()
和dirname()
之間,這樣它就在最後一部分之前o ˚F您的網址)
<?php
$str = "http://example.com/sub/sub2/hello/";
$folder = "sub3";
echo dirname($str) . "/$folder/" . basename($str);
?>
輸出:
http://example.com/sub/sub2/sub3/hello
這是迄今爲止最好的答案,謝謝:) – PeterInvincible 2015-04-01 11:54:20
如果您的網址有這個特定的格式,你可以使用這個:
$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;
}
謝謝你的回答! :) – PeterInvincible 2015-04-01 11:47:17
explode
,splice
,implode
:
$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/
謝謝,按預期工作:) – PeterInvincible 2015-04-01 11:47:08
我是唯一一個怎麼沒有看到這兩個字符串之間的差異? – Rizier123 2015-04-01 11:35:17
@ Rizier123我也和你在一起。 :) – 2015-04-01 11:37:45
哦,對不起,更新我的問題:) – PeterInvincible 2015-04-01 11:38:26