PHP中如何通过多分隔符拆分字符串提取大括号内的内容
方案1:先修剪首尾字符再拆分
你现有代码的问题是拆分后首元素还带开头的{,尾元素带结尾的},先把整个字符串首尾的大括号修剪掉再拆分即可,代码如下:
// 原始字符串 $list = '{flower},{animals},{food},{people},{trees}'; // 修剪掉字符串首尾的{}字符 $processedList = trim($list, '{}'); // 按},{拆分得到目标数组 $array = explode('},{', $processedList);
方案2:正则匹配提取(容错性更高)
如果你的字符串格式可能有波动,比如前后存在多余字符、分隔符不统一的情况,可以直接用正则匹配所有大括号包裹的内容:
$list = '{flower},{animals},{food},{people},{trees}'; // 匹配所有{xxx}格式里的xxx内容 preg_match_all('/{([^}]+)}/', $list, $matches); $array = $matches[1];
两种方案都可以直接得到你需要的数组结果。
内容的提问来源于stack exchange,提问作者user_59910105
相关产品推荐
相关产品推荐

