$link = http://site.com/view/page.php?id=50&reviews=show
我們如何在id=50
之後添加&extra=video
?PHP更新變量中的url
id
總是數字。- 網址可以有後
?id=50
&extra=video
應該第一&
前加入許多其他的變量和50
(的id
值)後
將這樣使用:
echo '<a href="' . $link . '">Get video</a>';
謝謝。
$link = http://site.com/view/page.php?id=50&reviews=show
我們如何在id=50
之後添加&extra=video
?PHP更新變量中的url
id
總是數字。?id=50
&extra=video
應該第一&
前加入許多其他的變量和50
(的id
值)後將這樣使用:
echo '<a href="' . $link . '">Get video</a>';
謝謝。
ID是否始終是第一個帖子參數?如果是這樣,那麼你可以做一些字符串操作。使用strpos($link, "&")
找出你想插入的位置。然後根據該位置做幾個substr()
,然後將它們全部附加在一起。我知道它的那種哈克,但它肯定會起作用。
$pos = strpos($link, "&");
$first = substr($link, 0, $pos);
$last = substr($link, $pos);
$extra = "&extra=video";
$newLink = $first . $extra . $last;
請參閱此鏈接一些我上面提到的字符串處理函數:http://us3.php.net/strings
使用字符串函數進行url解析可能會產生意外的結果(特別是無效的url),用於不同的url ... – 2010-08-05 14:11:57
我同意。因此,爲什麼我問這是否是第一個後期參數,並表示這是一個拙劣的解決方案。我並不爲此感到自豪,但它的早期... – Siege898 2010-08-05 14:18:29
由於Treffynnon說,訂單罕事項。不過,如果你真的需要的,如果由於某種原因,只是用
parse_url
得到查詢字符串parse_str
創建參數array_splice
注入參數http_build_query
重建一個正確的查詢字符串我會建議使用函數指定ically針對URL解析,不是一般的字符串函數:
$link = 'http://site.com/view/?id=50&reviews=show';
$query = array();
parse_str(parse_url($link, PHP_URL_QUERY), $query);
$query['extra'] = 'video';
$linkNew = http_build_url($link, array('query' => http_build_query($query)));
我真的很喜歡'http_build_url',但應該提到默認情況下不包括pecl HTTP擴展。 – Wrikken 2010-08-05 14:22:26
這會爲你做它
<?php
$linkArray = explode('&',$link);
$linkArray[0] += '&extra=video';
$link = implode('&',$linkArray);
?>
爆炸將在每個&拆分鏈路串,所以也就沒有在意網址中有多少元素。
第一個元素,將包括第一個&符號前的id = ##。所以我們追加任何你想要出現的東西。
我們再次將我們的數組放在一起作爲一個字符串,將每個元素分開一個&。
爲什麼字符串中的位置如此重要?無論它的位置如何,它仍然會被解釋爲查詢字符串屬性。將它附加到URL顯然會更容易。 – Treffynnon 2010-08-05 14:02:23
你幾分鐘前剛剛問過這個問題。那麼有一個很好的答案,現在有什麼不同? – 2010-08-05 14:05:05
@Scott桑德斯問題被刪除,該解決方案不起作用。 – James 2010-08-05 14:07:49