PHP在sa文本中找到url并保存在数组中

时间:2016-01-15 21:39:14

标签: php

我有一个txt文件,我想在数组中保存从http://开始的所有网址,并以.png或.jpg或.jpeg结尾。我怎么能这样做?

我可以使用它吗?

<?php
function getUrls($string)
{
    $regex = '/https?\:\/\/[^\" ]+/i';
    preg_match_all($regex, $string, $matches);
    return ($matches[0]);
}

$urls = getUrls($string);

foreach($urls as $url)
{
    echo $url.'<br />';
}
?>

这是对的吗?

1 个答案:

答案 0 :(得分:0)

您展示的功能无效,因为正则表达式中没有指定.png.jpg.jpeg。它也只会返回第一场比赛:$matches[0]。此外,它需要/g标志才能在同一个字符串中找到多个实例(/i只是忽略大小写)。

请改为尝试:

<?php
function getUrls($string)
{
    // \w is any word character
    $regex = '/https?\:\/\/[\w]+\.(jpg|png|jpeg)/ig';
    preg_match_all($regex, $string, $matches);
    return ($matches);
}

$urls = getUrls($string);

foreach($urls as $url)
{
    echo $url.'<br />';
}
?>