De eso se encarga el RFC y la expresión regular, una url no puede comenzar con parentesis pero si terminar en el, por eso en github, wikipedia, wordpress y demás cuando pones una url en parentesis suelen incluir el cierre de parentesis unicamente y eso es normal.
No es tan sencillo. Un paréntesis en el dominio o en tld no está permitido. Y aunque técnicamente está permitido en la query, pocas veces se ve sin encode. El mismo PHP por ejemplo te hace encoding sobre los paréntesis tanto con urlencode como con rawurlencode.
De todos modos, puse paréntesis como cualquier otro carácter, incluido mayor o menor que (<>) o un backslash (\) que por otro lado no son caracteres válidos.
Y bueno, la función esta bastante bien, pero creo que el provisto era precisamente convertir texto plano xD
Saludos