ajax — как определить, имеет ли URL адресной строки определенную последовательность (php)

Моя адресная строка выглядит так, когда страница загружена

index.php?search=_kfdTourDate:equal:2017-04-15|_kfnTourID:equal:14

Если я сделаю поиск, моя адресная строка будет выглядеть так:

index.php?search=_kfnTourID:equal:2|_kfdTourDate:equal:2017-04-15|nFOC:bigger_equal:1|

или как это-

index.php?search=nTotalPrice:equal:99|tGuestName:equal:John|

Я хотел бы запустить функцию, если только адрес URL находится в следующем формате

?search=_kfdTourDate:equal:xxxxxxxx|_kfnTourID:equal:xxxxxxxx|

Если формат URL следующий, он не должен запускать функцию

?search=_kfnTourID:equal:xxxxxxxx|_kfdTourDate:equal:xxxxxxxx|

или же

?search=_kfdTourDate:equal:xxxxxxxx|_kfnTourID:equal:xxxxxxxx|tGuestName:equal:John|

Я пытался сделать использование $IsSearch = explode(":",$_GET['search'] ); но не мог заставить это работать.

Буду признателен, если вы покажете мне, как этого добиться. Спасибо вам всем.

1

Решение

Вы можете сделать это, как показано ниже:

if(count(array_filter(explode('|',$_GET['search'])))==2 && strpos($_GET['search'],'_kfdTourDate:equal:') ==0){

echo "Yes";  // call your function here
}

Вывод (в заданных вами трех сценариях): —

  1. https://eval.in/776637

  2. https://eval.in/776642

  3. https://eval.in/776644

2

Другие решения

Других решений пока нет …