Preg_match只想要第一个括号

时间:2012-08-30 10:14:35

标签: php arrays preg-match

Goodday,

我在下面有这个脚本来识别第一个标签([Test1])
但是我现在所拥有的所有这一切都取得了第一个支架和最后一个支架 所以输出是“ Test1] Title [Test9

我希望输出为“ Test1 ”。我已经尝试改变preg_match,但似乎我没有得到我想要的东西。 希望有人能帮助我走上正确的道路。

<?php
$uri = "[Test1] Title [Test9].jpg";
$str = "'".$uri."'";
if (preg_match('/\[([^\)]+)\]/', $str, $matches)) {
    echo "[".$matches[1]."]";
}
?>

提前致谢。

1 个答案:

答案 0 :(得分:0)

你必须使用'?'签到以获得不合适的比赛:

<?php
$uri = "[Test1] Title [Test9].jpg";
$str = "'".$uri."'";
if (preg_match('/\[(.+?)\]/', $str, $matches)) {
    echo "[".$matches[1]."]";
}

test it online