如果我想修改逗号分隔列表,如下所示:
$foo = "2, 4, 33, 25, 66"
Run Code Online (Sandbox Code Playgroud)
成为
$foo = "'1-2', '1-4', '1-33', '1-25', '1-66'"
Run Code Online (Sandbox Code Playgroud)
在PHP中实现这一目标的最快,最有效的方法是什么?
编辑: 我试过这个,但寻找更好的方法:
$foo = "2, 4, 33, 25, 66";
$bar = implode("', '1-",explode(",",$foo));
$foo = "'1-". $bar ."'";
Run Code Online (Sandbox Code Playgroud)
$foo = "2, 4, 33, 25, 66";
echo preg_replace("/(\d+)(,?)/", "'1-$1'$2", $foo );
Run Code Online (Sandbox Code Playgroud)
根据@roullie的要求,这是一个快速的正则表达式解决方案.在正则表达式中,\d+匹配1位或更多位数.,?匹配0或1逗号(最后一项没有共同点,所以我必须匹配0或1.