Manipulate a url string by adding GET parameters

前端 未结 15 2146
旧巷少年郎
旧巷少年郎 2020-11-29 00:50

I want to add GET parameters to URLs that may and may not contain GET parameters without repeating ? or &.

Example:

If I want t

15条回答
  •  醉酒成梦
    2020-11-29 01:06

    I think you should do it something like this.

    class myURL {
        protected $baseURL, $requestParameters;
    
        public function __construct ($newURL) {
            $this->baseurl = $newURL;
            $this->requestParameters = array();
        }
    
        public function addParameter ($parameter) {
            $this->requestParameters[] = $parameter;
        }
    
        public function __toString () {
            return $this->baseurl.
                   ( count($this->requestParameters) ?
                     '?'.implode('&', $this->requestParameters) :
                     ''
                     );
        }
    }
    
    $url1 = new myURL ('http://www.acme.com');
    $url2 = new myURL ('http://www.acme.com');
    $url2->addParameter('sort=popular');
    $url2->addParameter('category=action');
    $url1->addParameter('category=action');
    
    echo $url1."\n".$url2;
    

提交回复
热议问题