1
私はthatsパラメータが配列であることを知っています。それは次のようになります。php unset url parameters配列
&fq[]=subjects:Human+beings&fq[]=subjects:Ethnology
私は通常、この関数を使用してそれを送信パラメータの設定を解除するためにwan't時:
<a href="<?php echo remove_modify_url(array('fq' => urlencode($facetValue)));?>"><?php echo $facetValue; ?></a>
function remove_modify_url($par, $url = FALSE){
if($url == FALSE){
$scheme = $_SERVER['SERVER_PORT'] == 80 ? 'http' : 'https';
$url = $scheme.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
$url_array = parse_url($url);
if(!empty($url_array['query'])){
parse_str($url_array['query'], $query_array);
foreach ($par as $key => $value) {
unset($query_array[$key]);
}
}
return $url_array['path'].'?'.http_build_query($query_array);
}
はしかし、これはFQの鍵を持っているすべての設定が解除されます。私は、他のすべてのパラメータを削除せずに、特定の配列パラメータを設定解除したいと思います。この場合、ユーザはaボタンをクリックして件名を削除します。ヒューマン+存在とfq [] =件名:Ethnologyへのurl変更。
パーフェクトです。私はunset($ params ['fq'] [array_search($ delete、$ params ["fq")])のようにunset行を調整しなければなりませんでした。そうでなければそれは期待通りに働いた。ありがとう! –