【发布时间】:2015-06-09 19:42:21
【问题描述】:
我从此处的另一个答案中找到了与regexp 匹配的很棒的 URL,该答案在字符串中获取 URL,但只有在它们后跟空格时才有效。
preg_replace('#(https?|ftp)://[^ ]+ #i', '', $s['Text']);
我将如何修改它以使其也匹配位于字符串末尾且后面没有任何内容的 URL?
【问题讨论】:
-
但是它匹配在 http:// 之后输入的所有内容,并且不等待有效的扩展名。不过感谢您的建议!
-
一个不会让你的正则表达式更好地拒绝无效 URL 的简单修复是
preg_replace('#(https?|ftp)://[^\s\r\n]+(?:$|[\s\r\n])#i', '', $s['Text']);。这将匹配字符串的结尾或任何空格。您可能还想看一下regular-expressions.info 教程左右,它还将解释非捕获组(?:...)和前瞻,这可能会有所帮助。 -
您能否将答案链接到您找到该参考资料的位置?你有没有留下评论说它不适合你?