How can I append and prepend something to all post hyperlinks without using ::before or ::after? PHP hook solution?

Doing this with a WordPress hook would be difficult to do reliably.

But it’s straightforward with jQuery and some CSS.

jQuery('a').wrap('<div class="brackets"/>');

.brackets:before {
  content: "\005B";
}
.brackets:after {
  content: "\005D";
}