Ну можно закешировать в лоб в $this->casheEscapedFields или еще подумать.
Но даже если еще подумать в любом случае по хорошему стоит этот вариант смерджить, т.к. предыдущий пропускает $escapeSymbol находящийся на 0-й позиции, если я ничего не путаю в поведении strpos