php 取的括号里的字符串
时间: 2024-02-27 08:52:18 浏览: 99
可以使用 PHP 的内置函数 `preg_match()` 来实现取括号里的字符串。以下是一个示例:
```php
$str = "hello (world) (foo) (bar)";
$pattern = "/\((.*?)\)/"; // 匹配括号里的内容的正则表达式
if (preg_match($pattern, $str, $matches)) {
$result = $matches[1];
echo $result; // 输出 "world"
} else {
echo "No matching parentheses found";
}
```
在这个示例中,我们使用一个正则表达式来匹配括号里面的内容。正则表达式 `/\((.*?)\)/` 匹配左括号和右括号之间的任意字符,并使用 `()` 括起来,其中 `?` 表示非贪婪匹配,防止匹配到多个括号对。然后,我们使用 `preg_match()` 函数来匹配正则表达式,并将匹配结果存储在 `$matches` 数组中。最后,我们将括号里的内容存储在 `$result` 变量中并输出。如果没有找到匹配的括号,则输出错误消息。
相关问题
php输出字符串最后一个中括号里面的内容
可以使用正则表达式来实现,例如:
```php
$str = "这是一个字符串,最后一个中括号里面的内容是[abc123]";
preg_match("/\[(.*?)\]$/", $str, $matches);
echo $matches[1]; // 输出 abc123
```
这里的正则表达式 `/\[.*?\]$/` 匹配最后一个中括号里面的内容,并将匹配的结果保存在 `$matches` 数组中。最后通过 `$matches[1]` 输出匹配的内容。
php 字符串有多个括号字符只截取最后一个括号里面内容
可以使用 PHP 的内置函数 `strrpos()` 和 `substr()` 来实现截取最后一个括号里面的内容。以下是一个示例:
```php
$str = "hello (world) (foo) (bar)";
$last_open_parenthesis = strrpos($str, "("); // 查找最后一个左括号的位置
$last_close_parenthesis = strrpos($str, ")"); // 查找最后一个右括号的位置
if ($last_close_parenthesis !== false && $last_open_parenthesis !== false && $last_close_parenthesis > $last_open_parenthesis) {
$result = substr($str, strrpos($str, "(") + 1, $last_close_parenthesis - $last_open_parenthesis - 1);
echo $result; // 输出 "bar"
} else {
echo "No matching parentheses found";
}
```
在这个示例中,我们首先使用 `strrpos()` 函数查找最后一个左括号和最后一个右括号的位置,并将其存储在 `$last_open_parenthesis` 和 `$last_close_parenthesis` 变量中。然后,我们使用 `substr()` 函数截取字符串,从最后一个左括号的位置加 1 开始截取,到最后一个右括号的位置减去最后一个左括号的位置减 1 个字符为止。如果没有找到匹配的括号,则输出错误消息。