正则表达式不保存变量匹配

时间:2015-08-01 01:42:26

标签: php regex

我获取了存储在我的数据库中的不同Youtube频道的URL。我现在正试图遍历所有这些并使用以下代码检查它们是否仍然存在:

foreach ($pages as $page) {
    preg_match("/([^/]+$)/", $page['url'], $channelId);

    $channel = get_data('https://www.googleapis.com/youtube/v3/channels?part=snippet&id='.$channelId[0].'&key='.$site['yt_api']);

    $channel = json_decode($channel, true);

    echo $channelId[0];
    echo $channel[pageInfo][totalResults];

    break;
}

问题是此测试代码不会打印出$channelId[0],而只会打$channel[pageInfo][totalResults],在这种情况下0由于我的正则表达式出现一些错误。有人可以指出我的错误吗?

1 个答案:

答案 0 :(得分:3)

您需要更改delimiters或转义正斜杠。

preg_match('~[^/]+$~', $page['url'], $channelId);