<?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 $k => $value){
  echo "#$k: URL ".$value["name"]."\n";
  echo ( array_search( returnLastWord($value["name"]), $value["possibleValues"] ) === false ? "FALHOU" : "PASSOU" )." -> expected: ".json_encode( $value["possibleValues"] )." get '".returnLastWord($value["name"])."'\n\n";
}

function returnLastWord ($url) {
    
    // Analisa a URL:
    $url = parse_url($url);
    
    // Divide o path nas ocorrências de /:
    $parts = explode('/', trim($url["path"], '/'));
    
    // Busca o último elemento:
    $last = end($parts);

    // Se não estiver vazio e não possuir o caractere ., retorna o valor, senão retorna index:
    return $last && false === strpos($last, '.') ? $last : "index";

}