Вы можете использовать функцию php preg_replace , чтобы сопоставить 3ABC с последующим 0 или более символами, которые не являются пробелами, а затем использовать совпадение в вашем коде:
$literal = "teststring 3ABCJOEDKLSZ2 teststring hello test";
$formatted = preg_replace("/3ABC\S*/", '<a href="https://google.com/search/\0">\0</a>', $literal);
echo $formatted;
Fiddle: Live Demo