我想说这个网址:
http://example.com/image-title/987654/
我想在“image-title”和“987654”之间的部分插入“download”,所以它看起来像:
http://example.com/image-title/download/987654/
帮助将不胜感激!谢谢。
答案 0 :(得分:3)
假设您的URI始终是相同(或至少是可预测的)格式,您可以使用explode
函数将URI拆分为每个部分,然后使用array_splice
插入元素进入该数组,最后使用implode
将它们全部重新组合成一个字符串。
请注意,您可以通过将$length
参数指定为零来将元素插入到数组中。例如:
$myArray = array("the", "quick", "fox");
array_splice($myArray, 2, 0, "brown");
// $myArray now equals array("the", "quick", "brown", "fox");
答案 1 :(得分:0)
格式不是很好,但我认为这就是你需要的
$mystr= 'download';
$str = 'http://example.com/image-title/987654/';
$newstr = explode( "http://example.com/image-title",$str);
$constring = $mystr.$newstr[1];
$adding = 'http://example.com/image-title/';
echo $adding.$constring; // output-- http://example.com/image-title/download/987654/
答案 2 :(得分:0)
在PHP中有很多方法可以做到这一点:
假设所有网址都符合相同的结构(image-title / [image_id]),我建议使用str_replace,如下所示:
$url = str_replace('image-title', 'image-title/download', $url);
如果图像标题是动态的(图像的实际标题),我建议像这样分割和重建:
$urlParts = explode('/', $url);
$urlParts = array_merge(array_slice($urlParts, 0, 3), (array)'download', array_slice($urlParts, 3));
$url = implode('/', $urlParts);