sourceAccountList() as $account) { $name .= strtolower($account->name); } $nameLength = strlen($name); $search = strtolower($this->triggerValue); $searchLength = strlen($search); // if the string to search for is longer than the account name, // it will never be in the account name. if ($searchLength > $nameLength) { Log::debug(sprintf('RuleTrigger FromAccountEnds for journal #%d: "%s" does not end with "%s", return false.', $journal->id, $name, $search)); return false; } $part = substr($name, $searchLength * -1); if ($part === $search) { Log::debug(sprintf('RuleTrigger FromAccountEnds for journal #%d: "%s" ends with "%s", return true.', $journal->id, $name, $search)); return true; } Log::debug(sprintf('RuleTrigger FromAccountEnds for journal #%d: "%s" does not end with "%s", return false.', $journal->id, $name, $search)); return false; } }