<?php

$arr = array(
  array("name"=>"http://w...content-available-to-author-only...m.br/","possibleValues"=>array("index")),
  array("name"=>"www.teste.com.br/","possibleValues"=>array("index")),
  array("name"=>"teste.com","possibleValues"=>array("index")),
  array("name"=>"teste.com/","possibleValues"=>array("index")),
  array("name"=>"www.teste.com.br/teste","possibleValues"=>array("teste")),
  array("name"=>"http://w...content-available-to-author-only...m.br/teste","possibleValues"=>array("teste")),
  array("name"=>"http://t...content-available-to-author-only...e.com/teste","possibleValues"=>array("teste")),
  array("name"=>"https://w...content-available-to-author-only...e.com/teste","possibleValues"=>array("teste")),
  array("name"=>"https://t...content-available-to-author-only...e.com/teste","possibleValues"=>array("teste")),
  array("name"=>"teste.com/teste/dois","possibleValues"=>array("dois")),
  array("name"=>"teste.com/teste/dois/","possibleValues"=>array("dois")),
  array("name"=>"teste.com/teste/dois/?variavel=teste","possibleValues"=>array("dois")),
  array("name"=>"teste.com/teste/dois?variavel=teste","possibleValues"=>array("dois")),
  array("name"=>"teste.com/teste/dois/?variavel=teste","possibleValues"=>array("dois")),
  array("name"=>"teste.com/teste?var1=t&var2=t","possibleValues"=>array("teste")),
  array("name"=>"teste.com/teste/tres#ola","possibleValues"=>array("tres")),
  array("name"=>"teste.com/teste?var1=t&var2=t#ola","possibleValues"=>array("teste"))
);

foreach($arr as $value){
    echo "URL ".$value["name"]."\n";
    echo ( array_search( basename( returnLastWord( $value["name"] ) ), $value["possibleValues"] ) === false ? "FALHOU" : "PASSOU" )." -> expected: ".json_encode( $value["possibleValues"] )." get '".basename( returnLastWord( $value["name"] ) )."'\n\n";
}

function returnLastWord($var){

    //Remove o protocolo
    $var = preg_replace('~^[^:]+[:][/]{2,}~', '', $var);

    //Pega qualquer coisa que seja um PATH em URLs
    if (preg_match('~/([^#?]{1,})~', $var, $matches)) {

        //Remove o / do final em urls como `foo/bar/`, para evitar pegar em branco
        $result = rtrim($matches[1], '/');

        //Pega qualquer coisa que estiver no final
        if (preg_match('~[^/]+$~', $result, $matches)) {
          return $matches[0];
        }
    }

    //Se qualquer coisa anterior falhou é porque provavelmente é "index"
    return 'index';
}
