包含重复符号的字符串上的preg_replace

时间:2019-04-04 18:33:59

标签: php regex

我必须过滤这样的字符串:

[{'Mo-Do':['09:00-20:30']},{'Fr':'09:00-21:00']},{'Sa':['09:00-20:30']}]

我想用preg_replace来做到这一点,以便字符串像这样看待:

Mo-Do: 09:00-20:30, Fr: 09:00-21:00, Sa: 09:00-20:30

不幸的是,我在处理正则表达式方面相对缺乏经验。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

    $re = '/[\[{\]}\']*/m';
    $str = '[{\'Mo-Do\':[\'09:00-20:30\']},{\'Fr\':\'09:00-21:00\']},{\'Sa\':[\'09:00-20:30\']}]';
    $subst = '';

    $result = preg_replace($re, $subst, $str);

    echo "The result of the substitution is ".$result;

    ## Output:  Mo-Do:09:00-20:30,Fr:09:00-21:00,Sa:09:00-20:30

Demo