2

再会,

我在下面有这个脚本来识别第一个标签([Test1])
但是它对我现在拥有的uri所做的只是获取第一个括号和最后一个括号,
所以输出是“ Test1] Title [Test9

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

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

提前致谢。

4

1 回答 1

0

你必须使用'?签名以获得不贪婪的匹配:

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

在线测试

于 2012-08-30T10:27:04.053 回答