Check độ khớp của URL trong PHP
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
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
}
mình cám ơn nhé, mình làm được rồi
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));
};
mình cám ơn nhé, mình làm dc rồi