code: public static function findByAliases($arrAliases, array $arrOptions=array())
  	{
  		if (empty($arrAliases) || !\is_array($arrAliases))
  		{
  			return null;
  		}
  
  		// Remove everything that is not an alias
  		$arrAliases = array_filter(array_map(function ($v) { return preg_match('/^[\w\/.-]+$/u', $v) ? $v : null; }, $arrAliases));
  
  		// Return if nothing is left
  		if (empty($arrAliases))
  		{
  			return null;
  		}
  
  		$t = static::$strTable;
  		$arrColumns = array("$t.alias IN('" . implode("','", array_filter($arrAliases)) . "')");
  
  		// Check the publication status (see #4652)
  		if (!static::isPreviewMode($arrOptions))
  		{
  			$time = Date::floorToMinute();
  			$arrColumns[] = "($t.start='' OR $t.start<='$time') AND ($t.stop='' OR $t.stop>'" . ($time + 60) . "') AND $t.published='1'";
  		}
  
  		if (!isset($arrOptions['order']))
  		{
  			$arrOptions['order'] = Database::getInstance()->findInSet("$t.alias", $arrAliases);
  		}
  
  		return static::findBy($arrColumns, null, $arrOptions);
  	}
docs: Find pages matching a list of possible alias names
  
  @param array $arrAliases An array of possible alias names
  @param array $arrOptions An optional options array
  
  @return Collection|PageModel[]|PageModel|null A collection of models or null if there are no pages