我目前在程序中自动检测文本内的超链接。我做得非常简单,只查找 http:// 或 www。
但是,一位用户建议我将其扩展为其他形式,例如:https:// 或 .com
然后我意识到它可能不会就此停止,因为还有 ftp、mailto 和 file、所有其他顶级域,甚至电子邮件地址和文件路径。
我认为最好的方法是遵循当前正在使用的一些常用的标准超链接检测规则集,将其限制在实用范围内。也许 Microsoft Word 如何做到这一点,或者 RichEdit 如何做到这一点,或者您可能知道更好的标准。
所以我的问题是:
是否有一个内置函数可以从 Delphi 调用来进行检测,如果有,调用会是什么样子? (我计划将来使用 FireMonkey,所以我更喜欢能够在 Windows 之外运行的东西。)
如果没有可用的功能,我是否可以在某个地方找到一组记录在 Word、RichEdit 中检测到的内容的规则,或任何其他应该检测到的内容的规则集?这样我就可以自己编写检测代码。
最佳答案
尝试PathIsURL
在 ShLwApi
单元中声明的函数。
关于delphi - 如何在Delphi中实现一套标准的超链接检测规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8967046/