php - 使用 PHP 从字符串中提取 URL

标签 php url

我们如何使用 PHP 识别字符串中的 URL 并将它们存储在数组中?

如果 URL 包含逗号,则不能使用 explode 函数,它不会给出正确的结果。

最佳答案

REGEX 是您问题的答案。以对象操纵器的答案..它所缺少的只是排除“逗号”,因此您可以尝试排除它们并给出 3 个分隔的 URL 作为输出的代码:

$string = "The text you want to filter goes here. http://google.com, https://www.youtube.com/watch?v=K_m7NEDMrV0,https://instagram.com/hellow/";

preg_match_all('#\bhttps?://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))#', $string, $match);

echo "<pre>";
print_r($match[0]); 
echo "</pre>";

输出是

Array
(
    [0] => http://google.com
    [1] => https://www.youtube.com/watch?v=K_m7NEDMrV0
    [2] => https://instagram.com/hellow/
)

关于php - 使用 PHP 从字符串中提取 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36564293/

相关文章:

url - 碧 Jade : error opening input stream from url

UrlFetchApp.fetch 具有很长的 URL

java - 如何从uri确定文件的文件扩展名

php - Google Cloud SQL - MySQL 服务器已消失

php - 将数据从一个 MySQL 表移动到另一个

php - 简单的php登录系统

java - 发送重定向时强制浏览器从 URL 中删除#hash

python - 如何在Python中使用twitter API抓取包含特定链接的推文?

php - 遍历B树结构算法

php - 请求澄清 PHP 中的 OOP 过程