我有一个正则表达式,它从字符串(可能包括输入的 URL 的描述文本)中提取输入的 URL,并将它们转换为 href。这一切都很好,除了当输入 URL 并且它的最后一个字符是“,”或“)”时,它也将此字符作为 URL 的一部分。我怎么能防止这种情况?
示例文本:
嗨,这是我的美丽信息,其中包含一个链接(请参阅 www.website.com)和一些更多信息。
我的正则表达式会读取 URL,但在创建 href 时也会使用最后一个字符“)”,从而导致链接错误。
我的正则表达式:
preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $text);