【问题标题】:Automatic Linkification for network files in PHPPHP中网络文件的自动链接
【发布时间】:2011-04-29 15:53:02
【问题描述】:

我正在尝试自动检测用户提交的文本中的链接并动态生成链接。我发现这适用于“普通”网址。

$pattern = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/"; return preg_replace($pattern, "<a href=\"\\0\" rel=\"nofollow\" target=\"_blank\">\\0</a>", $str);

有没有办法将其扩展到覆盖 UNC 或映射的网络驱动器,例如 \\ComputerName\SharedFolder\File.txtZ:\Dir\File.txt

我不一定要寻找完美的解决方案。

【问题讨论】:

    标签: php regex linkify


    【解决方案1】:

    最明显的非完美解决方案是只有三个模式并依次检查每个模式。 (因此,查找 \\ 和 [A-Z]:\ 并抓取所有内容,直到第一个空格。)

    【讨论】:

    • 您可以通过检查 /(([AZ]:|\)\\S+)\s/ 之类的内容一次性完成后两个,但我看不到以一种既不可读也不痛苦调试的模式完成所有工作。
    猜你喜欢
    • 2011-04-24
    • 1970-01-01
    • 2011-10-02
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    相关资源
    最近更新 更多