我想使用 PHP 来检查存储在$myoutput变量中的字符串是否包含有效的链接语法或者它只是一个普通的文本。我正在寻找的功能或解决方案应该能够识别所有链接格式,包括带有 GET 参数的链接格式。
$myoutput
在我的情况下,许多网站建议的实际查询字符串(使用 CURL 或file_get_contents()函数)的解决方案是不可能的,我想避免它。
file_get_contents()
我考虑过正则表达式或其他解决方案。
您可以使用本机过滤器验证器
filter_var($url, FILTER_VALIDATE_URL);
将值验证为 URL(根据 » http://www.faqs.org/rfcs/rfc2396),可选择使用所需的组件。请注意,有效的 URL 可能未指定 HTTP 协议 http://,因此可能需要进一步验证以确定 URL 使用预期的协议,例如 ssh:// 或 mailto:。请注意,该函数只会查找有效的 ASCII URL;国际化域名(包含非 ASCII 字符)将失败。
例子:
if (filter_var($url, FILTER_VALIDATE_URL) === FALSE) { die('Not a valid URL'); }