我正在處理重定向應用程序的查詢字符串模式。我們可以在strstr
中使用多個OR
聲明。恩。如果我不知道它是否會& or & or $ or /
那麼是否有可能使用其他跡象OR
條件與$code= strstr($code, '/',+1);
在URL中應用字符串處理後獲取特定值
說明:
的URL來參加我們的重定向程序是這樣
https://www.sample.com?key=1234~rety~1234~retu&c=12&k=12
OR
https://www.sample.com?key=1234~rety~1234~retu/c=12/k=12
OR
https://www.sample.com?key=1234~rety~1234~retu$c=12$k=12
我們的目的唯一的變量是關鍵(其名稱可以改變,但數據會以同樣的模式出現),我想要的只是用〜模式獲取數據。
我做如下:
parse_str(parse_url($url, PHP_URL_QUERY), $parts);
$keys = array_keys($parts);
$size=sizeof($keys);
$total=substr_count($uri, '~');
$var=$keys[0];
$value=$parts[$var];
for($i=0;$i<$size;$i++){
$var=$keys[$i];
$value=$parts[$var];
$total=substr_count($value, '~');
if($total==3){
$digit_code = preg_split('/\~+/', $value);
$digit_code = array_filter($digit_code);
$digit_code = array_values($digit_code);
$project_id=$digit_code[0];
$country_id=$digit_code[1];
$vendor=$digit_code[2];
$code=$digit_code[3];
//$code= strstr($code, '/',+1);
}
但是當URL來了這樣
https://www.sample.com?key=1234~rety~1234~retu/c=12/k=12
or
https://www.sample.com?key=1234~rety~1234~retu$c=12$k=12
你讀過'strstr'手冊後一次? –
是的,我已經閱讀了手冊。我正試圖找出一些解決方法 – Ethen