この関数は私のスキルがあまり高くないので、不適切な点があればアドバイスをお願いします。
functionmodifyUri($param = '', $value = '') { - 2 //現在のページ URI を取得します
- 3 $uri = $_SERVER['REQUEST_URI']
- 4 $uri = (parse_url( $ uri));
- 5 // URI を配列に分割し、配列内の重複する項目を削除します
- 6 $uri =explode('&', $uri['query']);
- 7 $uri = array_unique($uri); ;
- 8 //関数に値が渡されているかどうかを判断し、値がある場合は置換/挿入を実行します
- 9 if ('' != $param && '' != $value) {
- 10 $param .= '= ';
- 11 $param_erge = '/'.$param.'.*/';
- 12 //URIに置換対象のURIが既に存在するかを確認し、存在する場合は置換します
- 13 $uri = preg_replace( $param_erge,$param.$value, $uri);
- 14 //存在しない場合は末尾に追加
- 15 if('1' != in_array($param.$value, $uri)) array_push ($uri, $param.$value);
- 16 }
- 17 //配列を文字列に変換して返します
- 18 $uri = implode('&', $uri);
- 19 $u = substr($_SERVER ['REQUEST_URI'] , 0 , strpos($_SERVER[ 'REQUEST_URI'] , '?'));
- 20 $uri = "{$u}?".$uri;
- 21 return $uri;
- 22 }
-
コードをコピー
|