gpt4 book ai didi

php - 如何使用 preg_match 查找模式匹配并保存到数组

转载 作者:搜寻专家 更新时间:2023-10-31 21:08:28 24 4
gpt4 key购买 nike

我想在字符串中搜索 url 并将它们保存到一个数组中。
这似乎很容易,但我找不到执行此操作的方法。我认为它可能类似于使用 preg_replace?

$myarray = preg_replace(
"/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",
null, $input)

例如我的输入字符串是

$input = "    
blah blah blah https://www.google.com
blah blah blah https://www.yahoo.com
blah blah blah http://stackoverflow.com"

最后,结果应该是数组中匹配的三个链接的值。

$myarray[0] = "https://www.google.com"
$myarray[1] = "https://www.yahoo.com"
$myarray[2] = "https://stackoverflow.com"

我希望你能理解我的愿望,如果有什么不明白的地方,我们深表歉意。

最佳答案

使用 preg_match 而不是 preg_replace

preg_match(
"/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",
$input, $matches);

print_r($matches[0]);

更新:

preg_match 只会产生一个匹配项。

要匹配所有出现的情况,请使用 preg_match_all

关于php - 如何使用 preg_match 查找模式匹配并保存到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27718806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com