0

私がこのURLを持っているとしましょう:

http://example.com/image-title/987654/

「image-title」と「987654」の間の部分に「download」を挿入したいので、次のようになります。

http://example.com/image-title/download/987654/

助けていただければ幸いです!ありがとうございました。

4

3 に答える 3

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");
于 2012-06-13T05:28:18.560 に答える
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/
于 2012-06-13T05:42:12.423 に答える
0

PHP でこれを行う方法はいくつかあります。

  • destroy()、array_merge、implode() を使用して分割および再構築します。
  • substring() の使用
  • 正規表現の使用
  • str_replace の使用

すべての URL が同じ構造 (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);
于 2012-06-13T05:48:52.043 に答える