Это настолько не относится к вопросу, но для XSLT преобразовывает в.NET (XSLCompiledTranform) затем, у Вас не могло бы быть выбора. Другой кандидат является управлением MSHTML.
Громоздкий метод для избегающих регулярных выражений:
implode(array_filter(str_split("(555) 555-5555", 1), "is_numeric"));