common_search.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. /**
  3. * 删除地址参数
  4. *
  5. * @param array $param
  6. */
  7. function dropParam($param) {
  8. $purl = getParam();
  9. if (!empty($param)) {
  10. foreach ($param as $val) {
  11. $purl['param'][$val] = 0;
  12. }
  13. }
  14. $url_param = [];
  15. foreach ($purl['param'] as $k => $v) {
  16. $url_param[$k] = urlencode($v);
  17. }
  18. return url('home/'.request()->controller().'/'.request()->action(),$url_param);
  19. }
  20. /**
  21. * 替换地址参数
  22. *
  23. * @param array $param
  24. */
  25. function replaceParam($param) {
  26. $purl = getParam();
  27. if (!empty($param)) {
  28. foreach ($param as $key => $val) {
  29. $purl['param'][$key] = $val;
  30. }
  31. }
  32. return url('home/'.request()->controller().'/'.request()->action(),$purl['param']);
  33. }
  34. /**
  35. * 替换并删除地址参数
  36. *
  37. * @param array $param
  38. */
  39. function replaceAndDropParam($paramToReplace, $paramToDrop) {
  40. $purl = getParam();
  41. if (!empty($paramToReplace)) {
  42. foreach ($paramToReplace as $key => $val) {
  43. $purl['param'][$key] = $val;
  44. }
  45. }
  46. if (!empty($paramToDrop)) {
  47. foreach ($paramToDrop as $val) {
  48. $purl['param'][$val] = 0;
  49. }
  50. }
  51. return url('home/'.request()->controller().'/'.request()->action(),$purl['param']);
  52. }
  53. /**
  54. * 删除部分地址参数
  55. *
  56. * @param array $param
  57. */
  58. function removeParam($param) {
  59. $purl = getParam();
  60. if (!empty($param)) {
  61. foreach ($param as $key => $val) {
  62. if (!isset($purl['param'][$key])) {
  63. continue;
  64. }
  65. $tpl_params = explode('_', $purl['param'][$key]);
  66. foreach ($tpl_params as $k => $v) {
  67. if ($val == $v) {
  68. unset($tpl_params[$k]);
  69. }
  70. }
  71. if (empty($tpl_params)) {
  72. $purl['param'][$key] = 0;
  73. } else {
  74. $purl['param'][$key] = implode('_', $tpl_params);
  75. }
  76. }
  77. }
  78. return url('home/'.request()->controller().'/'.request()->action(),$purl['param']);
  79. }
  80. function getParam() {
  81. $param = input('param.');
  82. $purl = array();
  83. unset($param['page']);
  84. $param=str_replace('/','+',$param);
  85. $purl['param'] = $param;
  86. return $purl;
  87. }
  88. ?>