微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据“分隔符”将PHP字符串划分为数组子字符串

我想做的就是将一个PHP字符串分成一组子字符串,这些子字符串根据以这些子字符串开头的“分隔符”字符分组为数组.字符*,^和%保留为分隔符.因此,如果我有字符串“ *这里是一些文本^,这意味着*要分隔^基于分隔符^的位置”,则应将其拆分并放置在数组中,如下所示:

array(2) {
    [0] => "*Here's some text"
    [1] => "*to be separated"
}

array(3) {
    [0] => "^that is meant"
    [1] => "^based on where"
    [2] => "^are"
}

array(1) {
    [0] => "%the divider characters" 
}

我完全迷失了这一点.有人知道如何实现吗?

解决方法:

您不需要$matches [0],因此可以根据需要取消设置:

preg_match_all('/(\*[^*^%]+)|(\^[^*^%]+)|(%[^*^%]+)/', $string, $matches);
$matches = array_map('array_filter', $matches);

print_r($matches);

array_filter()从捕获组子数组中删除容器,以给出问题中显示的数组

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐