delphi - 如何在Delphi中实现一套标准的超链接检测规则

标签 delphi hyperlink string-matching

我目前在程序中自动检测文本内的超链接。我做得非常简单,只查找 http://www。

但是,一位用户建议我将其扩展为其他形式,例如:https://.com

然后我意识到它可能不会就此停止,因为还有 ftp、mailto 和 file、所有其他顶级域,甚至电子邮件地址和文件路径。

我认为最好的方法是遵循当前正在使用的一些常用的标准超链接检测规则集,将其限制在实用范围内。也许 Microsoft Word 如何做到这一点,或者 RichEdit 如何做到这一点,或者您可能知道更好的标准。

所以我的问题是:

是否有一个内置函数可以从 Delphi 调用来进行检测,如果有,调用会是什么样子? (我计划将来使用 FireMonkey,所以我更喜欢能够在 Windows 之外运行的东西。)

如果没有可用的功能,我是否可以在某个地方找到一组记录在 Word、RichEdit 中检测到的内容的规则,或任何其他应该检测到的内容的规则集?这样我就可以自己编写检测代码。

最佳答案

尝试PathIsURLShLwApi 单元中声明的函数。

关于delphi - 如何在Delphi中实现一套标准的超链接检测规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8967046/

相关文章:

html - CSS: anchor 不接受高度

javascript - Jquery - 添加超链接到数据表

C# 删除边界内的字符串

sql-server - SP_Who 不返回 DBName 列

Delphi T 记录列表

delphi - 在 Delphi 中使用 StretchDraw 方法拉伸(stretch)位图

jQuery href 链接

python - 基于替换和不替换规则的子字符串替换

string - 删除子字符串中所有出现的测试用例

delphi - 在报表生成器中在文本旁边打印图片或字符(251)