Laravel 8 replaceMatches {#collection-method}

2021-07-19 10:34 更新

replaceMatches 方法用指定字符串替换字符串中使用指定正则表达式匹配到的所有部分:

use Illuminate\Support\Str;

$replaced = Str::of('(+1) 501-555-1000')->replaceMatches('/[^A-Za-z0-9]++/', '')

// '15015551000' 

replaceMatches 方法还接受一个闭包函数,它可作用于字符串中匹配到的每一部分,允许您在闭包函数中处理替换逻辑并返回替换值:

use Illuminate\Support\Str;

$replaced = Str::of('123')->replaceMatches('/\d/', function ($match) {
    return '['.$match[0].']';
});

// '[1][2][3]' 
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号