common_search.php 2.1 KB

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