PHP: регулярное выражение, как проверить URI глубокой ссылки android и ios

Я просматривал Интернет в поисках решений, но ничего, мой вопрос прост, какой шаблон регулярного выражения мне нужен для проверки глубокой ссылки Android и ios для проверки.

ОПРЕДЕЛЕНИЕ МОБИЛЬНЫХ ССЫЛОК: Мобильные прямые ссылки. В контексте мобильных приложений глубокая ссылка состоит из использования универсального идентификатора ресурса (URI), который ссылается на определенное место в мобильном приложении, а не просто на запуск приложения. Отложенное глубокое связывание позволяет пользователям делать глубокие ссылки на контент, даже если приложение еще не установлено.

Мобильная глубокая ссылка может быть в разных формах, например

привет://моб.com привет://w.l.o

как это будет проверено:

NB: я не видел решения этой проблемы в Интернете, попробуйте поиск в Google и поиск на YouTube.


person Shasha    schedule 11.07.2018    source источник
comment
Что такое android and ios deep link? Пожалуйста, приведите примеры и то, что вы пробовали до сих пор.   -  person user3783243    schedule 11.07.2018
comment
@ user3783243 Я отредактировал свой вопрос.   -  person Shasha    schedule 11.07.2018
comment
вы должны привести пример того, какой URL-адрес deeplink вы хотите проверить   -  person hatched    schedule 11.07.2018
comment
@hatched дал больше объяснений, не видел решения в Интернете.   -  person Shasha    schedule 11.07.2018
comment
Возможно, ^[a-z]{2,}://[a-z0-9.]+$ не совсем понятно, какие правила все еще существуют для действительной/недействительной прямой ссылки.   -  person user3783243    schedule 11.07.2018


Ответы (1)


Во-первых, они на 80% защищены, если вы создаете ссылку на приложение, но для проверки это справедливо на 95%.

Пытаться

$deeplinkURI = example://fb.com/cool 
if (preg_match("/(?i)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'\".,<>?«»“”‘’]))/", $deeplinkURI )){

 } else {
  echo "Invalid Deep link URI";
  exit();
 } 
person chiefo    schedule 11.07.2018