📌  相关文章
📜  php 检查字符串是否包含 url - PHP (1)

📅  最后修改于: 2023-12-03 15:33:38.629000             🧑  作者: Mango

PHP 检查字符串是否包含 URL

在 PHP 中,要检查一个字符串是否包含 URL,可以使用正则表达式进行匹配。具体实现可以使用 preg_match() 函数来实现。

代码示例
// 定义要匹配的字符串
$string = 'This is a string containing url: https://www.example.com';

// 定义匹配规则,用于匹配 URL
$pattern = "/(http|https|ftp)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";

// 进行正则匹配
if (preg_match($pattern, $string, $match)) {
    // 匹配成功,输出匹配的 URL
    echo 'Found URL: ' . $match[0];
} else {
    // 匹配失败,输出错误信息
    echo 'URL not found';
}

上述代码定义了一个要匹配的字符串,然后使用正则表达式来匹配 URL。如果匹配成功,则输出匹配到的 URL;否则输出 "URL not found"。

正则表达式说明

正则表达式的匹配规则如下:

  • (http|https|ftp):匹配以 httphttpsftp 开头的字符串;
  • :\/\/:匹配字符 ://
  • [a-zA-Z0-9\-\.]+:匹配字母、数字、横杠和点号,且至少出现一次;
  • \.[a-zA-Z]{2,3}:匹配点号和两到三个字母,用于匹配域名后缀;
  • (\/\S*)?:可选匹配,用于匹配 URL 中的路径部分,包括斜杠和非空白字符。
总结

PHP 中检查字符串是否包含 URL,可以用正则表达式进行匹配。使用 preg_match() 函数可以轻松实现该功能。