检查字符串是否仅包含 PHP 中的 URL

新手上路,请多包涵

我想知道这是否是检查字符串是否仅包含 URL 的正确方法:

 if (stripos($string, 'http') == 0 && !preg_match('/\s/',$string)) {
  do_something();
}

stripos() 检查字符串是否以“http”开头

preg_match() 检查字符串是否包含空格

如果不是这样,我假设该字符串只是一个 URL - 但该假设是否有效?有没有更好的方法来实现这一目标?

原文由 yotka 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 311
2 个回答

使用 filter_var()

 if (filter_var($string, FILTER_VALIDATE_URL)) {
  // you're good
}

过滤器可以更加精细。有关更多信息, 请参阅手册

原文由 John Conde 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏