从字符串中检测 IDN 域的库?

Pau*_*l B 5 url uri idn

IM/电子邮件类型场景:

用户输入他们想要的任何内容并将其发送给他们的好友。如果他们输入一个 URL,我想让收件人可以点击它。这意味着我们需要确定字符串中的字符序列是一个有效的 URI,并从中创建一个超链接。

是否有一个库可以帮助解析用户输入并检测用户是否将国际化域名作为字符串的一部分?

例子:

嘿伙计这个俄罗斯麦当劳的网站?????????????.?? 很酷 - 看看!

注意我不是在谈论解析 URI 或进行 punycode/Unicode 转换 - 在执行任何操作之前,我需要能够首先将其识别为 URI...