Yêu cầu thg 1 9, 2020 1:36 SA 237 0 2
  • 237 0 2
0

Check độ khớp của URL trong PHP

Chia sẻ
  • 237 0 2

Chào, mình được yêu cầu insert 1 code tracking của google vào page của web, tuy nhiên trang này ko phải dạng landing page mà nó chỉ là template xài chung chứ ko riêng ra từng page. Mình được yêu cầu là chỉ cần insert code tracking vào trang đó thôi Ví dụ: http://domain.com/url-landing-page Mình dùng code này để insert code tracking đó như sau:

$urlGet = "http://domain.com/url-landing-page";
		if('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']==$urlGet){
			$this->view->headScript()->appendFile($this->view->baseUrl().'js/pixel.js');
		}

Nếu URL là trang landing page đó, thì mình insert thêm 1 file script vào, tuy nhiên, nó là tracking code, nên URL dạng http://domain.com/url-landing-page?utm_source=adbro&utm_campain=campain Như vậy khi chạy URL có UTM code thì nó ko hiển thị file script, có ai có cách gì để mình có thể insert dc file script vào đúng trang chỉ định ko? Mình đang có suy nghĩ là chỉ cần những ký tự đầu của trang khớp với URL landing page, còn lại thì ko quan tâm, là đều insert code hết, như thế có ổn ko nhỉ? Giúp mình với, mình cám ơn.

2 CÂU TRẢ LỜI


Đã trả lời thg 1 9, 2020 2:05 SA
Đã được chấp nhận
+2

Theo mình thì bạn nên kiểm tra xem có kí tự '?' trong URI không, nếu có thì lấy những chữ trước dấu '?', không thì so khớp với đoạn string bạn cần là được. Đây là đoạn mà mình vừa viết, bạn thử xem chạy đúng không 😄

if (strpos($_SERVER['REQUEST_URI'], '?')) {
    $uri = substr($_SERVER['REQUEST_URI'], 0 , strpos($_SERVER['REQUEST_URI'], '?'));
    if ($uri === /'url-landing-page') {
        // insert script here
    }
} else if ($_SERVER['REQUEST_URI'] === '/url-landing-page') {
    //  insert script here
}
Chia sẻ
thg 1 9, 2020 2:36 SA

mình cám ơn nhé, mình làm được rồi

Đã trả lời thg 1 9, 2020 1:54 SA
+2

Bạn có thể thử cắt chuỗi đến kí tự ? và kiểm tra phần đầu là được

before ('?', 'http://domain.com/url-landing-page?utm_source=adbro&utm_campain=campain');
//returns 'http://domain.com/url-landing-page'
//from the first occurrence of '?'

function before ($this, $inthat) {
        return substr($inthat, 0, strpos($inthat, $this));
};
Chia sẻ
thg 1 9, 2020 2:36 SA

mình cám ơn nhé, mình làm dc rồi

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí